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()