Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj / Introspekti objektojn

La hereda ĉeno

Kiam unu klaso heredas de alia, vi povas peti la tutan ĉenon de tipoj, sur kiuj ĝi estas konstruita. La metametodo .^mro redonas ĉi tiun ĉenon — la nomo signifas ordo de metodserĉado, la ordo, en kiu Raku serĉas metodon.

class Animal {
}

class Dog is Animal {
}

say Dog.^mro; # ((Dog) (Animal) (Any) (Mu))

Legante de maldekstre: Dog estas unue si mem, poste Animal (ĝia patro), poste Any kaj Mu — la du tipoj, de kiuj ĉiu Raku-objekto heredas tute supre. Kiam vi vokas metodon sur Dog, Raku traserĉas ĉi tiun liston de maldekstre dekstren kaj uzas la unuan kongruan metodon, kiun ĝi trovas. Ĝuste tial la metodo de ido superregas tiun de la patro: la ido aperas pli frue en la ĉeno.

Por klaso sen eksplicita patro, la ĉeno estas pli mallonga — nur la klaso mem, sekvata de Any kaj Mu.

Praktiko

Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.

Kursa navigado

Introspekti objektojn   |   Kvizo — Introspekto


💪 Aŭ iru rekte al la ekzercoj de ĉi tiu sekcio.