Curso de Raku / Objetos, entrada/salida y excepciones / Clases y objetos
Herencia
La herencia permite que una clase se construya sobre otra.
Una clase declarada con is después de su nombre hereda los
atributos y los métodos de la clase que nombra: su clase padre
(o base).
class Animal {
has $.name;
method speak {
'some sound';
}
}
class Dog is Animal {
}Dog is Animal significa que un Dog es una
clase de Animal. Sin escribir nada nuevo, Dog
ya tiene el atributo name y el método speak de
Animal:
my $rex = Dog.new(name => 'Rex');
say $rex.name; # Rex
say $rex.speak; # some soundUn objeto Dog también se reconoce como
Animal:
say Dog.new ~~ Animal; # TrueEl smart-match ~~ contra un tipo es verdadero cuando el
objeto es de ese tipo o hereda de él. El tema siguiente muestra cómo una
clase hija puede sustituir un método heredado por una versión
propia.
También en esta sección
Práctica
Resuelve 1 cuestionario sobre el contenido de esta sección.
Ejercicios
Esta sección contiene 3 ejercicios. Mira todos los temas de esta sección antes de empezar los ejercicios.