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__()