Sobes.tech
Junior

След кои функции може да поставите точка и да продължите с извикването на следващия метод?

sobes.tech AI

Отговор от AI

След функциите, които връщат обект (включително текущия обект) на същия клас или на клас с подобен интерфейс, което позволява да се продължи веригата от извиквания. Това е възможно благодарение на шаблона за дизайн 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()