Corso di Raku / Oggetti, input/output ed eccezioni / Classi e oggetti / Il protocollo dei metaoggetti 🆕 / Exercises / Trovate un metodo
Soluzione: Trovate un metodo
Ecco una possibile soluzione del compito.
Codice
class Animal {
method speak { 'generic' }
}
class Dog is Animal {
}
say so Dog.^find_method('speak');🦋 Trova il programma nel file find-method.raku.
Output
TrueCommenti
.^find_methodrestituisce il metodo se esiste, o un valore non definito se non esiste. Ilsolo trasforma in un booleano semplice.Dognon definisce metodi propri, eppure il risultato èTrue:find_methodcerca in tutta la catena di ereditarietà e trovaspeakpiù in alto, inAnimal. Questo rispecchia il modo in cui una vera chiamata di metodo su unDogindividuerebbe il metodo ereditato.