Junior
Pēc kādām funkcijām var likt punktu un turpināt nākamās metodes izsaukšanu?
sobes.tech AI
Atbilde no AI
Tāds pats klases vai līdzīga interfeisa klasei objekts, kas atgriež funkcijas, kas ļauj turpināt izsaukumu ķēdi. Tas ir iespējams, pateicoties dizaina šablonam Method Chaining.
Šādu gadījumu piemēri:
- Getteri, kas atgriež objektu:
objekts.getProperty().anotherMethod() - Setter, kas atgriež
this:objekts.setProperty(vērtība).anotherProperty(vērtība2) - Metodes, kas atgriež jaunu tāda paša tipa objektu:
objekts.filter(...).sort(...) - Objektu izveide un konfigurēšana:
new Builder().step1().step2().build()
# Python piemērs ar Method Chaining
class Car:
def __init__(self):
self.color = None
self.engine = None
def set_color(self, color):
self.color = color
return self # Atgriež pašu sevi, lai turpinātu ķēdi
def set_engine(self, engine):
self.engine = engine
return self
def drive(self):
print(f"Vadīt {self.color} auto ar {self.engine} motoru.")
# Method Chaining izmantošana
my_car = Car().set_color("sarkana").set_engine("V8")
my_car.drive()