Curso de Raku / Objetos, entrada/salida y excepciones / Clases y objetos / Herencia / Exercises / Una figura y un cuadrado

Solución: Una figura y un cuadrado

Aquí tienes una posible solución para la tarea.

Código

class Shape {
    method name {
        'shape';
    }
    method describe {
        'I am a ' ~ self.name;
    }
}

class Square is Shape {
    method name {
        'square';
    }
}

say Square.new.describe;

🦋 Puedes encontrar el código fuente en el archivo shape-and-square.raku.

Salida

I am a square

Comentarios

  1. Square hereda describe de Shape y solo sobrescribe name.

  2. describe llama a self.name, que recoge el name sobrescrito, así que la descripción dice square en lugar de shape.

Una figura y un cuadrado   |   Un atributo heredado