2010-04-27 6 views
1

Я новый в scala, и мне интересно, в чем отличия между чертами и шаблоном? Когда я должен использовать шаблон и когда я должен использовать черты? thanksЧерты против шаблона

+0

У Scala нет шаблонов. Что вы подразумеваете под этим? –

ответ

5

Это зависит от того, что вы подразумеваете под шаблоном.
Если это (wikipedia) функция, позволяющая функциям и классам работать с generic types, то шаблон и черта являются двумя ортогональными понятиями.

Черты могут также использовать общий тип (см. Это SO question), но здесь есть альтернатива множественному наследованию, предлагая mixin class composition со стекируемым поведением.

+0

по шаблону Я имею в виду дженерики в стиле C++ или как в java – lapinferoce

+0

@lapinferoce: Я так и думал, и мой ответ стоит. шаблон («generic») и черты (состав класса mixin) - это две разные темы. – VonC

1

«По шаблону я имею в виду дженерики, как в C++ или Java» - lapinferoce

В этом случае контраст не существует. Черты и классы (абстрактные или конкретные) могут быть общими. Только объекты не поддерживают ни параметрический, ни подтиповый полиморфизм.

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