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