Ответ 1
В python не использовать методы getter/setter. Вместо этого просто получите доступ к самому атрибуту или, если вам нужно, чтобы код запускался каждый раз при доступе или настройке атрибута, используйте свойства.
Итак, я прочитал, что вы должны получить доступ к атрибутам объекта с помощью методов getter/setter, таких как object.get_this()
или object.set_that(value)
. Поддерживает ли этот код методы, которые также определены в классе? Или они предназначены только для использования с экземплярами объектов. Например, так ли идиоматично это делать,
class test:
def __init__(self,value):
self.value = value
def get_value(self):
return self.value
def method(self):
return some_operation(self.value)
с get_value()
, определенным для доступа к value
для экземпляра объекта, или должен get_value()
также использоваться в методах класса?
class test:
def __init__(self,value):
self.value = value
def get_value(self):
return self.value
def method(self):
return some_operation(self.get_value())
В python не использовать методы getter/setter. Вместо этого просто получите доступ к самому атрибуту или, если вам нужно, чтобы код запускался каждый раз при доступе или настройке атрибута, используйте свойства.
Я бы не обращался к атрибутам объекта в методах указанного объекта по-другому, чем от того, что я ожидал бы от других объектов для доступа к ним. Зачем? Я не уверен, это просто кажется странным.
Python делает это очень просто, если вы используете декоратор свойств, который устраняет необходимость в геттерах/сеттерах, называемых "get_foo" / "set_foo",.