Scala 特征或具体 class

Scala trait or concrete class

所以我明白了我们可以用特征做什么,但在什么情况下我们应该更喜欢使用特征而不是具体的 class?我被告知要尽可能地使用特征,当我需要实例化某些东西时使用常规 class.

编辑:我实际上是在问什么时候使用具体的特征 class 而不是抽象的特征

通常情况下,没有单一的规则,但我个人认为 Odersky/Spoon/Venners 书 "Programming in Scala" 中给出的一般性建议很有用。

它表示如果该行为不会在其他不相关的 class 中重用,请使用具体的 class。另一方面,如果您认为您会在不相关的地方的其他地方重用该行为,请将其作为特征。