Sobes.tech
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()