Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Metaobjektu protokols 🆕 / Exercises / Metožu izšķiršanas kārtība

Risinājums: Metožu izšķiršanas kārtība

Šeit ir iespējams risinājums uzdevumam.

Kods

class A {
}

class B is A {
}

class C is B {
}

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

🦋 Atrodiet programmu failā the-mro.raku.

Izvade

(C B A Any Mu)

Komentāri

  1. .^mro atgriež tipu ķēdi, ko Raku pārmeklē, atrisinot metodi.

  2. Ķēde seko mantošanas līnijai pa vienam solim: C, tad tā vecākklase B, tad B vecākklase A un visbeidzot Any un Mu, ar ko beidzas katrs tips. Dziļāka hierarhija vienkārši padara sarakstu garāku.

Kursa navigācija

Metožu izšķiršanas kārtība   |   Klašu rombs