Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Metaobjektu protokols 🆕 / Exercises / Atrodiet metodi
Risinājums: Atrodiet metodi
Šeit ir iespējams risinājums uzdevumam.
Kods
class Animal {
method speak { 'generic' }
}
class Dog is Animal {
}
say so Dog.^find_method('speak');🦋 Atrodiet programmu failā find-method.raku.
Izvade
TrueKomentāri
.^find_methodatgriež metodi, ja tā eksistē, vai nedefinētu vērtību, ja ne.soto pārvērš par vienkāršu Būla vērtību.Dogpati nedefinē nevienu metodi, un tomēr rezultāts irTrue:find_methodpārmeklē visu mantošanas ķēdi un atrodspeakaugšāAnimal. Tas atspoguļo to, kā īsts metodes izsaukums uzDogatrastu mantoto metodi.