Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj / Metodoj / Exercises / Areo de ortangulo
Solvo: Areo de ortangulo
Jen ebla solvo de la tasko.
Kodo
class Rectangle {
has $.width;
has $.height;
method area {
$.width * $.height;
}
method describe {
"area is " ~ self.area;
}
}
say Rectangle.new(width => 3, height => 4).describe;🦋 Vi povas trovi la fontkodon en la dosiero rectangle-area.raku.
Eligo
area is 12Komentoj
La metodo
arealegas la proprajnwidthkajheightde la objekto tra iliaj atingiloj kaj multiplikas ilin — por ortangulo3per4, tio estas12.La metodo
describene ripetas tiun kalkulon. Anstataŭe ĝi vokasself.area, rulante la metodonareasur la sama objekto kaj reuzante ĝian rezulton. Konstrui pli grandan konduton el pli malgrandaj metodoj tiel tenas ĉiun metodon respondeca pri unu laboro.