Corso di Raku / Oggetti, input/output ed eccezioni / Classi e oggetti / Ruoli
Comporre più ruoli
Una classe può assumere più di un ruolo. Basta elencarli ciascuno con
il proprio does:
role Walk {
method move { 'walking' }
}
role Swim {
method dive { 'diving' }
}
class Duck does Walk does Swim {
}Ora la classe Duck ha sia il metodo move di
Walk sia il metodo dive di
Swim:
say Duck.new.move; # walking
say Duck.new.dive; # divingCombinare ruoli in questo modo si chiama composizione. Ti permette di assemblare una classe a partire da più pezzi di comportamento indipendenti, il che è spesso più flessibile che costruire una singola catena di ereditarietà: una classe può mescolare esattamente le capacità che le servono, e niente di più.
Navigazione del corso
← Ruoli | Aggiungere un ruolo a un oggetto →
💪 Oppure vai direttamente agli esercizi di questa sezione.