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