【发布时间】:2021-10-14 22:32:40
【问题描述】:
我想知道是否存在从基/父更新子类变量的方法。生日函数有没有办法更新适当的类变量?
我知道在这个例子中正确的做法可能是让 age 成为一个实例变量。但我有一个案例,我想坚持将年龄作为一个类变量。
class Animal():
def __init__(self):
pass
def birthday(self):
self.age = self.age + 1
class Cat(Animal):
age = 4
class Dog(Animal):
age = 2
d = Dog()
print(Dog.age)
d.birthday()
print(Dog.age)
【问题讨论】:
-
为什么要将
age用作类变量,而不是实例变量? -
如果你确实想要一个共享的类属性,那么
birthday应该是一个类方法,而不是一个实例方法。