Cursus Raku / Objecten, in- en uitvoer en excepties / Klassen en objecten / Het meta-objectprotocol 🆕 / Exercises / De methoderesolutievolgorde
Oplossing: De methoderesolutievolgorde
Hier is een mogelijke oplossing voor de taak.
Code
class A {
}
class B is A {
}
class C is B {
}
say C.^mro.map(*.^name);🦋 Je kunt de broncode vinden in het bestand the-mro.raku.
Uitvoer
(C B A Any Mu)Opmerkingen
.^mrogeeft de keten van typen terug die Raku doorzoekt bij het oplossen van een methode.De keten volgt de overervingslijn stap voor stap:
C, dan zijn ouderB, dan de ouder vanB,A, en ten slotteAnyenMu, waarmee elk type eindigt. Een diepere hiërarchie maakt de lijst eenvoudigweg langer.