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 に答える