【发布时间】:2021-06-12 16:51:33
【问题描述】:
我有一个基本抽象类,其他 2 个类应该从该类继承。这些子类都应该在基类的 getter 属性上实现自己的 setter。不必(多余地)为每个子类重新定义相同的 getter 方法会非常好,但如果他们可以继承 getter 并将自己的 setter 放在上面。这在 Python 中可行吗? 代码如下所示(当然会引发错误!):
class Base:
def __init__(self):
self._x = 0
@property
def x(self): return self._x
class A(Base):
def __init__(self):
super().__init__()
@x.setter
def x(self, newx): self._x += newx
class B(Base):
def __init__(self):
super().__init__()
@x.setter
def x(self, newx): self._x -= newx
【问题讨论】:
标签: python properties getter setter