Python 类的Getter/Setters方法是什么?
Getter和Setter在许多面向对象编程语言中使用,以确保数据封装的原则。它们也被称为mutator方法。数据封装被视为将数据与操作这些数据的方法捆绑在一起。这些方法当然是用于检索数据的getter和用于更改数据的setter。根据这个原则,类的属性被私有化以隐藏并保护它们不受其他代码的影响。
不幸的是,广泛的看法认为一个合适的Python类应该使用getter和setter来封装私有属性。使用getter和setter不容易且不优雅。使用属性或一个带有property的类是Pythonic的做法。用于获取值的方法被”@property”修饰。用作Setter的方法被”@x.setter”修饰。
阅读更多:Python 教程
Example
使用Getter和Setter的示例如下
class P:
def __init__(self,x):
self.__set_x(x)
def __get_x(self):
return self.__x
def __set_x(self, x):
if x < 0:
self.__x = 0
elif x > 1000:
self.__x = 1000
else:
self.__x = x
x = property(__get_x, __set_x)
极客教程