Junior
După ce funcții se poate pune punct și continua apelarea următorului method?
sobes.tech AI
Răspuns de la AI
După funcțiile care returnează un obiect (inclusiv obiectul curent) al aceleiași clase sau al unei clase cu o interfață similară care permite continuarea lanțului de apeluri. Acest lucru este posibil datorită pattern-ului de proiectare Method Chaining.
Exemple de astfel de cazuri:
- Getters care returnează un obiect:
obiect.getProperty().anotherMethod() - Setters care returnează
this:obiect.setProperty(valoare).anotherProperty(valoare2) - Metode care returnează un nou obiect de același tip:
obiect.filter(...).sort(...) - Crearea și configurarea obiectelor:
new Builder().step1().step2().build()
# Exemplu de Method Chaining în Python
class Car:
def __init__(self):
self.color = None
self.engine = None
def set_color(self, color):
self.color = color
return self # Returnează sine pentru continuarea lanțului
def set_engine(self, engine):
self.engine = engine
return self
def drive(self):
print(f"Conducând o mașină {self.color} cu un motor {self.engine}.")
# Utilizarea Method Chaining
my_car = Car().set_color("roșu").set_engine("V8")
my_car.drive()