2010-04-27 62 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

在這種情況下,對比度不存在。特質和類(抽象或具體)可能都是通用的。只有對象不支持參數和子類型多態。