2

我有一个超类和一个子类。超类包含一个包含一些属性的构造函数,子类也应该有一个初始化一些属性的构造函数。然而,问题是,当我在我的子类中创建一个 __init__ 方法时,它会覆盖超类的构造函数。

如何解决这个问题,以便子类的构造函数不会覆盖超类的构造函数方法?

非常感谢你!

4

1 回答 1

3

让子类调用超类__init__方法。您可以显式执行此操作,也可以使用该super函数执行此操作。对于像单继承这样的简单情况,这两种方法是等价的。

class Subclass(Superclass):
    def __init__(self):
        Superclass.__init__(self) 

class Subclass(Superclass):
    def __init__(self):
        super(Subclass, self).__init__()
于 2012-11-24T21:54:55.333 回答