首页 > 其他 > 详细

super方法

时间:2019-07-05 18:44:19      阅读:92      评论:0      收藏:0      [点我收藏+]
 1 # @Time     :2019/6/22 18:43
 2 # -*- encoding:utf-8 -*-
 3 ‘‘‘
 4 class Base(object):
 5     def f1(self):
 6         print("Base")
 7         super().f1()
 8 class Bar():
 9     def f1(self):
10         print("Bar")
11 
12 class Foo(Base, Bar):
13     def f2(self):
14         print("Foo")
15         super().f1()
16 
17 foo = Foo()
18 foo.f2()
19 ‘‘‘
20 # super方法,按照当前类的继承顺序,Foo -> Base -> Bar 找下一个,即:
21 # 第一个super方法现在在Foo类中,按照当前类的继承顺序Foo -> Base -> Bar 找下一个
22 #就是到Base类中找f1方法,
23 #同理:第二个super方法是在Base类中,会去Bar类找f1方法
24 
25 #例题:
26 class Base(object):
27     def f1(self):
28         print("Base")
29 
30 
31 class Bar(Base):
32     def f1(self):
33         super().f1() #按照当前类的继承顺序找下一个,执行print("Base")后,继续往下面执行(参考Debug,更容易理解执行顺序)
34         print("Bar")
35 
36 obj = Bar()
37 obj.f1()

 

super方法

原文:https://www.cnblogs.com/Demo-simple/p/11139958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!