2017-02-16 9 views
0

Итак, я получаю то, что мы можем делать с чертами, но в каких случаях мы предпочитаем их использование для конкретного класса? Мне сказали использовать черты везде, где я могу, и когда мне нужно что-то внедрить, используйте обычный класс.Scala trait или конкретный класс

Edit: Я на самом деле с просьбой о том, когда использовать признак InstEd конкретного класса не абстрактный один

ответ

1

Как это часто бывает, нет единого правила, но я лично нашел полезное общее предложение дать в книге Odersky/Spoon/Venners «Программирование в Scala».

В нем говорится, что если поведение не будет использоваться повторно в других несвязанных классах, используйте конкретный класс. С другой стороны, если вы считаете, что будете использовать это поведение где-то еще в неродственных местах, сделайте это чертой.

+0

Спасибо, что я хотел! –

+0

Извините, но внешняя ссылка, по крайней мере, сводка не идеальна (в данном случае я специально для этой страницы получаю сообщение «Ограничение просмотра»). –

+0

Спасибо @TravisBrown. Я отредактировал свой ответ. – mfirry

Смежные вопросы