Curso de Raku / Objetos, entrada/salida y excepciones / Clases y objetos / Roles
Componer varios roles
Una clase puede asumir más de un rol. Basta con enumerarlos, cada uno
con su propio does:
role Walk {
method move { 'walking' }
}
role Swim {
method dive { 'diving' }
}
class Duck does Walk does Swim {
}La clase Duck tiene ahora tanto el método
move de Walk como el método dive
de Swim:
say Duck.new.move; # walking
say Duck.new.dive; # divingCombinar roles así se llama composición. Te permite ensamblar una clase a partir de varias piezas de comportamiento independientes, lo que suele ser más flexible que construir una única cadena de herencia: una clase puede mezclar exactamente las capacidades que necesita, y nada más.
Navegación del curso
← Roles | Añadir un rol a un objeto →
💪 O ve directamente a los
ejercicios de esta sección.