在 Python 中,我有以下示例类:
class Foo:
self._attr = 0
@property
def attr(self):
return self._attr
@attr.setter
def attr(self, value):
self._attr = value
@attr.deleter
def attr(self):
del self._attr
如您所见,我有一个简单的“ private”属性“ _ attr”和一个访问它的属性。有很多代码可以声明一个简单的私有属性,我认为像这样声明所有属性是不尊重“ KISS”哲学的。
那么,如果我不需要特定的 getter/setter/deleter,为什么不将所有属性声明为公共属性呢?
我的回答是: 因为封装(OOP)的原则不是这么说的!
最好的办法是什么?