python中類的初始化方法是__init__(),因此父類子類的初始化方法都是這個,如果子類不實現這個函數,初始化時調用父類的初始化函數,如果子類實現這個函數,就覆蓋了父類的這個函數,既然繼承父類,就要在這個函數裡顯式調用一下父類的__init__(),這跟C++,jAVA不一樣,他們是自動調用父類初始化函數的。
調用父類函數有以下方法:
class A:
def method(self, arg):
pass
class B(A):
def method(self, arg):
# A.method(self,arg) # 1
# super(B, self).method(arg) #2
super().method(arg) #3
1.直接寫類名調用
2.用 super(type, obj).method(arg)方法調用。
3.在類定義中調用本類的父類方法,可以直接 super().method(arg).
在代碼中調用對象的父類的方法的示例:
ob = B()
super(B,ob).method(arg) #調用class B的父類class A的method。
初始化中調用父類初始化方法示例:
class B(A):
def __init__(self):
super().__init__()