Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Klassen und Objekte / Objekte introspizieren
Die Vererbungskette
Wenn eine Klasse von einer anderen erbt, können Sie nach der gesamten
Kette der Typen fragen, auf denen sie aufbaut. Die Metamethode
.^mro liefert diese Kette — der Name steht für method
resolution order, die Reihenfolge, in der Raku nach einer Methode
sucht.
class Animal {
}
class Dog is Animal {
}
say Dog.^mro; # ((Dog) (Animal) (Any) (Mu))Von links gelesen: Ein Dog ist zuerst er selbst, dann
ein Animal (sein Elternteil), dann Any und
Mu — die beiden Typen, von denen ganz oben jedes
Raku-Objekt erbt. Wenn Sie eine Methode auf einem Dog
aufrufen, durchsucht Raku diese Liste von links nach rechts und nimmt
die erste passende Methode, die es findet. Genau deshalb überschreibt
die Methode eines Kindes die des Elternteils: Das Kind steht früher in
der Kette.
Für eine Klasse ohne ausdrücklichen Elternteil ist die Kette kürzer —
nur die Klasse selbst, gefolgt von Any und
Mu.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Objekte introspizieren | Quiz — Introspektion →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.