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
.^mroatgriež tipu ķēdi, ko Raku pārmeklē, atrisinot metodi.Ķēde seko mantošanas līnijai pa vienam solim:
C, tad tā vecākklaseB, tadBvecākklaseAun visbeidzotAnyunMu, ar ko beidzas katrs tips. Dziļāka hierarhija vienkārši padara sarakstu garāku.