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 years

Komentāri

  1. Pet komponē divas lomas uzreiz, iegūstot gan metodi label, gan status.

  2. Katras lomas metode izmanto atribūtu (name vai age), ko nodrošina klase Pet.

Kursa navigācija

← Mājdzīvnieks ar vārdu un vecumu   |   Dejojošs robots →