Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Klassen und Objekte / Das Metaobjekt-Protokoll 🆕 / Exercises / Die Methodenauflösungsreihenfolge

Lösung: Die Methodenauflösungsreihenfolge

Hier ist eine mögliche Lösung der Aufgabe.

Code

class A {
}

class B is A {
}

class C is B {
}

say C.^mro.map(*.^name);

🦋 Du findest den Quellcode in der Datei the-mro.raku.

Ausgabe

(C B A Any Mu)

Kommentare

  1. .^mro liefert die Kette der Typen, die Raku beim Auflösen einer Methode durchsucht.

  2. Die Kette folgt der Vererbungslinie Schritt für Schritt: C, dann sein Elternteil B, dann dessen Elternteil A und schließlich Any und Mu, mit denen jeder Typ endet. Eine tiefere Hierarchie macht die Liste einfach länger.

Kursnavigation

Die Methodenauflösungsreihenfolge   |   Ein Diamant aus Klassen