Junior
Po akých funkciách môžete vložiť bodku a pokračovať volaním ďalšej metódy?
sobes.tech AI
Odpoveď od AI
Po funkciách, ktoré vracajú objekt (vrátane aktuálneho objektu) rovnakej triedy alebo triedy s podobným rozhraním, čo umožňuje pokračovať v reťazci volaní. To je možné vďaka návrhovému vzoru Method Chaining.
Príklady takýchto prípadov:
- Gettery, ktoré vracajú objekt:
objekt.getProperty().anotherMethod() - Settery, ktoré vracajú
this:objekt.setProperty(hodnota).anotherProperty(hodnota2) - Metódy, ktoré vracajú nový objekt rovnakého typu:
objekt.filter(...).sort(...) - Vytváranie a nastavovanie objektov:
new Builder().step1().step2().build()
# Príklad Method Chaining v Pythone
class Car:
def __init__(self):
self.color = None
self.engine = None
def set_color(self, color):
self.color = color
return self # Vráti sám seba na pokračovanie reťazca
def set_engine(self, engine):
self.engine = engine
return self
def drive(self):
print(f"Jazda v {self.color} aute s motorom {self.engine}.")
# Použitie Method Chaining
my_car = Car().set_color("červená").set_engine("V8")
my_car.drive()