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