2
我有一個超類和一個子類。超類包含一個持有一些屬性的構造函數,子類也應該有一個構造函數來初始化一些屬性。然而問題是,當我在我的子類中創建一個__init__方法時,它會覆蓋超類的構造函數。子類__init__重寫超類的
如何解決這個問題,以便子類的構造函數不重寫超類的構造函數方法?
非常感謝!
我有一個超類和一個子類。超類包含一個持有一些屬性的構造函數,子類也應該有一個構造函數來初始化一些屬性。然而問題是,當我在我的子類中創建一個__init__方法時,它會覆蓋超類的構造函數。子類__init__重寫超類的
如何解決這個問題,以便子類的構造函數不重寫超類的構造函數方法?
非常感謝!
使子類調用超類__init__
方法。您可以明確地執行此操作,也可以使用super
函數。對於單一繼承等簡單情況,兩種方法都是等價的。
class Subclass(Superclass):
def __init__(self):
Superclass.__init__(self)
class Subclass(Superclass):
def __init__(self):
super(Subclass, self).__init__()