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()