Cursus Raku / Objecten, in- en uitvoer en excepties / Klassen en objecten / Rollen
Meerdere rollen samenstellen
Een klasse kan meer dan één rol doen. Je somt ze eenvoudig op, elk
met een eigen does:
role Walk {
method move { 'walking' }
}
role Swim {
method dive { 'diving' }
}
class Duck does Walk does Swim {
}De klasse Duck heeft nu zowel de methode
move uit Walk als de methode dive
uit Swim:
say Duck.new.move; # walking
say Duck.new.dive; # divingRollen zo combineren heet compositie. Het laat je een klasse samenstellen uit meerdere onafhankelijke stukken gedrag, wat vaak flexibeler is dan één keten van overerving bouwen — een klasse kan precies de mogelijkheden binnenhalen die ze nodig heeft, en niets meer.
Cursusnavigatie
← Rollen | Een rol aan een object toevoegen →
💪 Of ga direct naar de
oefeningen in deze sectie.