Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj / Roloj / Exercises / Dorlotbesto kun nomo kaj aĝo
Solvo: Dorlotbesto kun nomo kaj aĝo
Jen ebla solvo de la tasko.
Kodo
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;🦋 Vi povas trovi la fontkodon en la dosiero named-aged-pet.raku.
Eligo
I am Rex
3 yearsKomentoj
Petkunmetas du rolojn samtempe, gajnante kaj la metodonlabelkaj la metodonstatus.La metodo de ĉiu rolo uzas atributon (
nameaŭage), kiun la klasoPetprovizas.