2010-04-27 59 views
1

我在斯卡拉新米,我想知道特征和模板之间有什么区别? 什么时候应该使用模板,什么时候应该使用特质? 谢谢性状vs模板

+0

Scala没有“模板”。你是什​​么意思? – 2010-04-27 11:58:46

回答

5

这取决于你的意思模板。
如果它是(wikipedia)允许函数和类与generic types一起运行的功能,则模板和特征是两个正交的概念。

特征也可以使用泛型类型(例如,请参阅此SO question),但通过为mixin class composition提供可堆叠行为,此处可以提供多重继承的替代方法。

+0

模板我指的是C++风格的泛型或者像java一样的风格 – lapinferoce 2010-04-27 13:44:04

+0

@lapinferoce:我以为是,我的回答就是这样。模板(“通用”)和特征(混合类组合)是两个不同的主题。 – VonC 2010-04-27 13:51:13

1

“通过模板我的意思是仿制药,如C++或Java” - lapinferoce

在这种情况下,对比度不存在。特质和类(抽象或具体)可能都是通用的。只有对象不支持参数和子类型多态。