Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Lomas / Exercises / Mājdzīvnieks ar vārdu un vecumu
Risinājums: Mājdzīvnieks ar vārdu un vecumu
Šeit ir iespējams risinājums uzdevumam.
Kods
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;🦋 Atrodiet programmu failā named-aged-pet.raku.
Izvade
I am Rex
3 yearsKomentāri
Petkomponē divas lomas uzreiz, iegūstot gan metodilabel, ganstatus.Katras lomas metode izmanto atribūtu (
namevaiage), ko nodrošina klasePet.