Raku kurss / Pielikums 🆕 / Tipi un teksta mašīnas / Objekti un klases / Exercises / Dzīvnieki, kas runā
Risinājums: Dzīvnieki, kas runā
Šeit ir iespējams risinājums uzdevumam.
Kods
class Animal {
has $.name;
method speak { '...' }
method greet { "{$.name} says {self.speak}" }
}
class Dog is Animal { method speak { 'Woof' } }
class Cat is Animal { method speak { 'Meow' } }
for Dog.new(name => 'Rex'), Cat.new(name => 'Tom') -> $pet {
say $pet.greet;
}🦋 Atrodiet programmu failā animal-inheritance.raku.
Izvade
Rex says Woof
Tom says MeowKomentāri
greetir definēta vienreiz bāzes klasē, bet tā izsaucself.speak. Tā kāselfir īstais objekts, izsaukums nonāk pie apakšklases pašasspeak.Tas ir polimorfisms: viena un tā pati
greetsunim radaWoofun kaķimMeowbez jebkāda nosacījumu koda.
Kursa navigācija
← Dzīvnieki, kas runā | Regulārās izteiksmes un gramatikas →