Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Lomas
Vairāku lomu apvienošana
Klase var darīt vairāk nekā vienu lomu. Vienkārši uzskaitiet katru ar
savu does:
role Walk {
method move { 'walking' }
}
role Swim {
method dive { 'diving' }
}
class Duck does Walk does Swim {
}Klasei Duck tagad ir gan metode move no
Walk, gan metode dive no
Swim:
say Duck.new.move; # walking
say Duck.new.dive; # divingŠādu lomu apvienošanu sauc par komponēšanu. Tā ļauj klasi salikt no vairākiem neatkarīgiem uzvedības gabaliem, un tas bieži ir elastīgāk nekā būvēt vienu mantošanas ķēdi — klase var iemaisīt tieši tās spējas, kas tai vajadzīgas, un neko vairāk.
Kursa navigācija
← Lomas | Lomas pievienošana objektam →
💪 Vai arī dodieties tieši uz šīs sadaļas vingrinājumiem.