Cursus Raku / Objecten, in- en uitvoer en excepties / Klassen en objecten / Attributen / Exercises / Een puntklasse
Oplossing: Een puntklasse
Hier is een mogelijke oplossing voor de taak.
Code
class Point {
has $.x;
has $.y;
}
my $a = Point.new(x => 3, y => 4);
my $b = Point.new(x => 0, y => 0);
my $dist = sqrt(($a.x - $b.x) ** 2 + ($a.y - $b.y) ** 2);
say $dist;🦋 Je kunt de broncode vinden in het bestand point-class.raku.
Uitvoer
5Opmerkingen
De twee declaraties
has $.xenhas $.ymaken de attributen samen met hun leesaccessors.Elk object bewaart zijn eigen
xeny, dus$aen$bmelden verschillende coördinaten hoewel ze van dezelfde soort object zijn. Die onafhankelijkheid is precies waar attributen om draaien — elke instantie draagt haar eigen gegevens.
Cursusnavigatie
← Een puntklasse | Een teller →