Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Objektu introspekcija
Mantošanas ķēde
Kad viena klase manto no citas, var palūgt visu tipu ķēdi, uz kuras
tā ir uzbūvēta. Metametode .^mro atgriež šo ķēdi —
nosaukums cēlies no method resolution order, tas ir, secības,
kādā Raku meklē metodi.
class Animal {
}
class Dog is Animal {
}
say Dog.^mro; # ((Dog) (Animal) (Any) (Mu))Lasot no kreisās puses: Dog vispirms ir pats, tad
Animal (tā vecākklase), tad Any un
Mu — divi tipi, no kuriem pašā augšā manto katrs Raku
objekts. Kad uz Dog izsaucat metodi, Raku pārmeklē šo
sarakstu no kreisās uz labo un izmanto pirmo atrasto atbilstošo metodi.
Tieši tāpēc bērnklases metode pārraksta vecākklases: bērnklase ķēdē
parādās agrāk.
Klasei bez skaidri norādītas vecākklases ķēde ir īsāka — tikai pati
klase, kam seko Any un Mu.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Objektu introspekcija | Viktorīna — Introspekcija →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.