Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj / Roloj

Kunmeti plurajn rolojn

Klaso povas fari pli ol unu rolon. Vi simple listigas ĉiun kun sia propra does:

role Walk {
    method move { 'walking' }
}

role Swim {
    method dive { 'diving' }
}

class Duck does Walk does Swim {
}

La klaso Duck nun havas kaj la metodon move el Walk kaj la metodon dive el Swim:

say Duck.new.move; # walking
say Duck.new.dive; # diving

Kombini rolojn tiel nomiĝas kunmeto. Ĝi permesas al vi kunigi klason el pluraj sendependaj pecoj de konduto, kio ofte estas pli fleksebla ol konstrui unu solan ĉenon de heredo — klaso povas enmiksi ĝuste la kapablojn, kiujn ĝi bezonas, kaj nenion pli.

Kursa navigado

Roloj   |   Aldoni rolon al objekto


💪 Aŭ iru rekte al la ekzercoj de ĉi tiu sekcio.