我有一个超类和一个子类。超类包含一个包含一些属性的构造函数,子类也应该有一个初始化某些属性的构造函数。但问题是,当我在子类中创建__init__方法时,它会覆盖超类的构造函数。
如何解决这个问题,以便子类的构造函数不会覆盖超类的构造函数方法?
非常感谢!
答案 0 :(得分:3)
使子类调用超类__init__
方法。您可以显式执行此操作,也可以使用super
功能执行此操作。对于像单继承这样的简单情况,两种方法都是等价的。
class Subclass(Superclass):
def __init__(self):
Superclass.__init__(self)
class Subclass(Superclass):
def __init__(self):
super(Subclass, self).__init__()