我一直在查看以下代码,想知道是否有人可以澄清为什么程序员使用 getter 方法将 __wasActive 设为私有字段?这仅仅是因为在此文件之外编写代码时,程序员希望私有字段只能通过方法 wasActive() 访问,而不是直接通过编写例如 Cell.wasActive 来访问?谢谢!
class Cell(object):
def __init__(self, column, index):
self.segments = []
self.column = column
self.index = index
self.isActive = False
self.__wasActive = False #Why private field?
self.isPredicting = False
self.__wasPredicted = False
self.isLearning = False
self.__wasLearning = False
@property
def wasActive(self):
return self.__wasActive
@property
def wasLearning(self):
return self.__wasLearning
@property
def wasPredicted(self):
return self.__wasPredicted