如何在不重载函数的情况下使用基类的函数更改相应的类级别属性?
class A:
a = 0
def addOne(self):
print(A.a) # prints 0
A.a = A.a + 1
print(A.a) # it stores the value of a over all the child classes
class B(A):
a = 0
print(A.a) # prints 0
print(B.a) # prints 0
self.addOne()
print(A.a) # prints 1
print(B.a) # prints 0
Class C(A):
a = 0
print(A.a) # prints 1
print(C.a) # prints 0
self.addOne()
print(A.a) # prints 2
print(C.a) # prints 0
我想B.a = 1
和C.a = 1
之后self.addOne()
。
我不想使用实例属性,因为我必须为所有子类重载 addOne 函数。