子类_​​_init__覆盖了超类#s

时间:2012-11-24 21:52:58

标签: python

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

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

非常感谢!

1 个答案:

答案 0 :(得分:3)

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

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

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