Junior
89
questionbank
После каких функций можно ставить точку и продолжать вызов следующего метода?
AI答案
sobes.tech AI
После функций, возвращающих объект (включая текущий объект) того же класса или класса с аналогичным интерфейсом, позволяющим продолжить цепочку вызовов. Это возможно благодаря паттерну проектирования Method Chaining.
Примеры таких случаев:
- Геттеры, возвращающие объект:
объект.getProperty().anotherMethod() - Сеттеры, возвращающие
this:объект.setProperty(value).anotherProperty(value2) - Методы, возвращающие новый объект того же типа:
объект.filter(...).sort(...) - Создание и настройка объектов:
new Builder().step1().step2().build()
# Пример Method Chaining в Python
class Car:
def __init__(self):
self.color = None
self.engine = None
def set_color(self, color):
self.color = color
return self # Возвращаем себя для продолжения цепочки
def set_engine(self, engine):
self.engine = engine
return self
def drive(self):
print(f"Driving a {self.color} car with a {self.engine} engine.")
# Использование Method Chaining
my_car = Car().set_color("red").set_engine("V8")
my_car.drive()