Курс Raku / Об’єкти, введення-виведення та винятки / Класи та об’єкти / Ролі
Композиція кількох ролей
Клас може виконувати більш ніж одну роль. Ви просто перелічуєте кожну
з власним does:
role Walk {
method move { 'walking' }
}
role Swim {
method dive { 'diving' }
}
class Duck does Walk does Swim {
}Клас Duck тепер має і метод move із
Walk, і метод dive із Swim:
say Duck.new.move; # walking
say Duck.new.dive; # divingТаке поєднання ролей називають композицією. Воно дозволяє скласти клас із кількох незалежних частин поведінки, що часто гнучкіше за побудову єдиного ланцюжка успадкування: клас може підмішати рівно ті можливості, які йому потрібні, і нічого більше.
Навігація курсом
← Ролі | Додавання ролі об’єкту →
💪 Або перейдіть одразу до
вправ цього розділу.