Python中子類怎樣調(diào)用父類方法

字號:


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