Цепочки методов в ООП в Python
Можно сделать так, чтобы методы можно было
вызывать друг за другом цепочкой. Для
этого каждый такой метод должен
возвращать self. Давайте
попробуем. Добавим соответствующий
код в сеттеры нашего класса:
class User:
def __init__(self):
self.__name = None
self.__surn = None
def set_name(self, name):
self.__name = name
return self
def set_surn(self, surn):
self.__surn = surn
return self
@property
def name(self):
return self.__name
@property
def surn(self):
return self.__surn
Теперь наши сеттеры можно вызывать друг за другом, цепочкой. Давайте проверим. Создадим объект нашего класса:
user = User()
Вызовем наши сеттеры цепочкой:
user.set_name('john').set_surn('smit')
Проверим, что значения свойств изменились:
print(user.name)
print(user.surn)
Сделайте так, чтобы сеттеры
класса Employee можно
было вызывать цепочкой.