python多重继承super父类参数,python 超继承
样例演示如下:class A(object):def go(self):print( go A go!)def stop(self): print(stop A stop!)定义暂停(自我):引发异常(未实现)B类(A): def go(self): super(B,self).go() print (go B go!)C类(甲):def go(己):super(丙,己).go() print (go C go!)def stop(self): super(C,self).stop() print (stop C stop!)D类(B,C): def go(self): super(D,self).go() print (go D go!)def stop(self): super(D,self).stop() print (stop D stop!)def pause(self):print( wait D wait!)E类(B,C):pass类F(A):def go(self):print( go F go!)继承关系如下图:
# instance A=A()B=B()C=C()D=D()E=E()F=F()print( A-)A . go()print( B-)B . go()print( C-)C . go()print( D-)D . go()print( E-)E . go()print( A-)A . stop()print( F-)F . go()F . stop()运行结果加油加油!走吧走吧。走吧。走吧走吧。去吧去吧。走吧走吧。去吧去吧。走吧。去吧去吧。去吧去吧。去吧去吧。走吧。停一停!快走快走。停一停!首先说说极好的用法:超级的作用是调用当前类(子类)所继承的基类(父类)的方法。
就如上述中b实例调用父类A中的去方法。
但是这里要注意一点:实例在进行调用方法的时候,首先会在当前类中寻找是否有重载父类方法,总体来说调用顺序在继承链上自下向上的(子类中存在重载方法则优先调用子类中重载的方法,否则在继承链向上寻找(前提是该继承链上存在该方法))就如上述中f。停止()方法。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。