Курс по 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Такова съчетаване на роли се нарича композиция. То ви позволява да сглобите клас от няколко независими парчета поведение, което често е по-гъвкаво от изграждането на една-единствена верига от наследявания — класът може да смеси точно тези способности, които са му нужни, и нищо повече.
Навигация в курса
← Роли | Добавяне на роля към обект →
💪 Или преминете направо към
упражненията в този раздел.