Corso di Raku / Oggetti, input/output ed eccezioni / Classi e oggetti / Metodi / Exercises / Area del rettangolo
Soluzione: Area del rettangolo
Ecco una possibile soluzione del compito.
Codice
class Rectangle {
has $.width;
has $.height;
method area {
$.width * $.height;
}
method describe {
"area is " ~ self.area;
}
}
say Rectangle.new(width => 3, height => 4).describe;🦋 Trova il programma nel file rectangle-area.raku.
Output
area is 12Commenti
Il metodo
arealegge i propriwidtheheightattraverso i loro accessori e li moltiplica — per un rettangolo3per4, fa12.Il metodo
describenon ripete quel calcolo. Chiama inveceself.area, eseguendo il metodoareasullo stesso oggetto e riusandone il risultato. Costruire in questo modo un comportamento più ampio a partire da metodi più piccoli tiene ogni metodo responsabile di un compito solo.