Junior
Na welke functies kun je een punt zetten en doorgaan met het aanroepen van de volgende methode?
sobes.tech AI
Antwoord van AI
Na functies die een object (inclusief het huidige object) van dezelfde klasse of een klasse met een vergelijkbaar interface retourneren, waardoor de keten van aanroepen kan worden voortgezet. Dit is mogelijk dankzij het ontwerp patroon Method Chaining.
Voorbeelden van dergelijke gevallen:
- Getters die een object retourneren:
object.getProperty().anotherMethod() - Setters die
thisretourneren:object.setProperty(waarde).anotherProperty(waarde2) - Methoden die een nieuw object van hetzelfde type retourneren:
object.filter(...).sort(...) - Objectcreatie en -configuratie:
new Builder().step1().step2().build()
# Voorbeeld van Method Chaining in Python
class Car:
def __init__(self):
self.color = None
self.engine = None
def set_color(self, color):
self.color = color
return self # Geeft zichzelf terug om de keten voort te zetten
def set_engine(self, engine):
self.engine = engine
return self
def drive(self):
print(f"Rijdend in een {self.color} auto met een {self.engine} motor.")
# Gebruik van Method Chaining
my_car = Car().set_color("rood").set_engine("V8")
my_car.drive()