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