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 →