Cursus Raku / Objecten, in- en uitvoer en excepties / Klassen en objecten / Methoden / Exercises / Oppervlakte van een rechthoek
Oplossing: Oppervlakte van een rechthoek
Hier is een mogelijke oplossing voor de taak.
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;🦋 Je kunt de broncode vinden in het bestand rectangle-area.raku.
Uitvoer
area is 12Opmerkingen
De methode
arealeest de eigenwidthenheightvan het object via hun accessors en vermenigvuldigt ze — voor een rechthoek van3bij4is dat12.De methode
describeherhaalt die berekening niet. In plaats daarvan roept zeself.areaaan, waarmee de methodeareaop hetzelfde object draait en het resultaat hergebruikt wordt. Groter gedrag zo uit kleinere methoden opbouwen houdt elke methode verantwoordelijk voor één taak.