Junior
После којих функција можете ставити тачку и наставити са позивом следеће методе?
sobes.tech АИ
Одговор од АИ
Након функција које враћају објекат (укључујући и тренутни објекат) исте класе или класе са сличним интерфејсом који омогућава наставак ланца позива. Ово је могуће захваљујући шаблону дизајна Method Chaining.
Примери таквих случајева:
- Гетери који враћају објекат:
објекат.getProperty().anotherMethod() - Сетери који враћају
this:објекат.setProperty(вредност).anotherProperty(вредност2) - Методе које враћају нови објекат истог типа:
објекат.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"Возим {self.color} ауто са мотором {self.engine}.")
# Коришћење Method Chaining
my_car = Car().set_color("црвена").set_engine("V8")
my_car.drive()