次のコードがあるとします。
class Parent(object):
counter = 0
@classmethod
def inc(cls):
cls.counter += 1
class Child(Parent):
pass
Child.inc()
print Parent.counter, Child.counter
私のテストでは、このコードは次のように出力します: 0 1
上記のコードは、子に属性カウンターを作成し、それをインクリメントするようです。次のようにスーパーを使用してみました:
class Child(Parent):
@classmethod
def inc(cls):
super(Child,cls).inc()
しかし、結果は同じです。
親と子の両方が同じカウンターにとどまり、印刷されるように、incメソッドで親をインクリメントするにはどうすればよいですか: 1 1
前もって感謝します。