Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Klassen und Objekte / Vererbung / Exercises / Eine Form und ein Quadrat

Lösung: Eine Form und ein Quadrat

Hier ist eine mögliche Lösung der Aufgabe.

Code

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

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

say Square.new.describe;

🦋 Du findest den Quellcode in der Datei shape-and-square.raku.

Ausgabe

I am a square

Kommentare

  1. Square erbt describe von Shape und überschreibt nur name.

  2. describe ruft self.name auf, was das überschreibende name aufgreift, daher sagt die Beschreibung square statt shape.

Kursnavigation

Eine Form und ein Quadrat   |   Ein geerbtes Attribut