Это очень хороший вопрос ... Я попробую ответить субъективным ответом.
Я думаю, что расширение A
mixin с B
важно, когдаиерархия будет линеаризована, в этом конкретном случае нет различий, но что если вы смешаете D
с другой чертой E
, которая переопределяет некоторые (но не все) функции из A, которые не рекомендуется в B
для вашегонуждается в D
.Таким образом, у вас будет
class D extends A with E with B
Более того, в этом случае мы сохраняем значение, что D
равно a A