Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Klassen und Objekte / Methoden / Exercises / Rechteckfläche
Lösung: Rechteckfläche
Hier ist eine mögliche Lösung der Aufgabe.
Code
class Rectangle {
has $.width;
has $.height;
method area {
$.width * $.height;
}
method describe {
"area is " ~ self.area;
}
}
say Rectangle.new(width => 3, height => 4).describe;🦋 Du findest den Quellcode in der Datei rectangle-area.raku.
Ausgabe
area is 12Kommentare
Die Methode
arealiest über die Accessoren die eigenewidthundheightdes Objekts und multipliziert sie — für ein Rechteck von3mal4ergibt das12.Die Methode
describewiederholt diese Rechnung nicht. Stattdessen ruft sieself.areaauf, führt also die Methodeareaauf demselben Objekt aus und verwendet deren Ergebnis wieder. Größeres Verhalten auf diese Weise aus kleineren Methoden aufzubauen hält jede Methode für genau eine Aufgabe zuständig.