Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Klassen und Objekte / Rollen / Exercises / Ein Haustier mit Namen und Alter
Lösung: Ein Haustier mit Namen und Alter
Hier ist eine mögliche Lösung der Aufgabe.
Code
role Named {
method label {
'I am ' ~ self.name;
}
}
role Aged {
method status {
self.age ~ ' years';
}
}
class Pet does Named does Aged {
has $.name;
has $.age;
}
my $p = Pet.new(name => 'Rex', age => 3);
say $p.label;
say $p.status;🦋 Du findest den Quellcode in der Datei named-aged-pet.raku.
Ausgabe
I am Rex
3 yearsKommentare
Petbindet zwei Rollen auf einmal ein und erhält so sowohl die Methodelabelals auch die Methodestatus.Die Methode jeder Rolle verwendet ein Attribut (
nameoderage), das die KlassePetbereitstellt.
Kursnavigation
← Ein Haustier mit Namen und Alter | Ein tanzender Roboter →