Cursus Raku / Objecten, in- en uitvoer en excepties / Klassen en objecten / Overerving / Exercises / Een vorm en een vierkant

Oplossing: Een vorm en een vierkant

Hier is een mogelijke oplossing voor de taak.

Code

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

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

say Square.new.describe;

🦋 Je kunt de broncode vinden in het bestand shape-and-square.raku.

Uitvoer

I am a square

Opmerkingen

  1. Square erft describe van Shape en overschrijft alleen name.

  2. describe roept self.name aan, wat de overschrijvende name oppakt, dus zegt de beschrijving square in plaats van shape.

Cursusnavigatie

Een vorm en een vierkant   |   Een geërfd attribuut