調用父類方法的三種方式:
1,self.run() 如果自己有run方法,則調用的是自己的,
使用self調用父類方法就不能有和父類同名的方法,遵循mro順序
2,父類名.run(self) 注意self需要自己傳入參數self
3,super super(父類名,self).run(參數1,參數2)
super().run(參數1,參數2)
super().__init__(參數1,參數2)
super的本質: 根據類繼承順序,獲取下一個類的方法(用下面代碼理解)
class A(object):
def __init__(self):
print('A')
class B(object):
def __init__(self):
print('B')
class C(object):
def __init__(self):
print('C')
class D(A, C, B):
def __init__(self):
super(C, self).__init__()
super(B, self).__init__()
print('D')
a = D()
print(D.mro())