Sobes.tech
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()