Sobes.tech
Junior

Po jakich funkcjach można postawić kropkę i kontynuować wywoływanie następnej metody?

sobes.tech AI

Odpowiedź od AI

Po funkcjach zwracających obiekt (w tym samym obiekcie) tej samej klasy lub klasy z podobnym interfejsem, co umożliwia kontynuację łańcucha wywołań. Jest to możliwe dzięki wzorcowi projektowemu Method Chaining.

Przykłady takich przypadków:

  • Gettery zwracające obiekt: obiekt.getProperty().anotherMethod()
  • Settery zwracające this: obiekt.setProperty(wartość).anotherProperty(wartość2)
  • Metody zwracające nowy obiekt tego samego typu: obiekt.filter(...).sort(...)
  • Tworzenie i konfigurowanie obiektów: new Builder().step1().step2().build()
# Przykład Method Chaining w Pythonie
class Car:
    def __init__(self):
        self.color = None
        self.engine = None

    def set_color(self, color):
        self.color = color
        return self # Zwraca siebie, aby kontynuować łańcuch

    def set_engine(self, engine):
        self.engine = engine
        return self

    def drive(self):
        print(f"Prowadzenie samochodu {self.color} z silnikiem {self.engine}.")

# Użycie Method Chaining
my_car = Car().set_color("czerwony").set_engine("V8")
my_car.drive()