Scala 特征或具体 class
Scala trait or concrete class
所以我明白了我们可以用特征做什么,但在什么情况下我们应该更喜欢使用特征而不是具体的 class?我被告知要尽可能地使用特征,当我需要实例化某些东西时使用常规 class.
编辑:我实际上是在问什么时候使用具体的特征 class 而不是抽象的特征
通常情况下,没有单一的规则,但我个人认为 Odersky/Spoon/Venners 书 "Programming in Scala" 中给出的一般性建议很有用。
它表示如果该行为不会在其他不相关的 class 中重用,请使用具体的 class。另一方面,如果您认为您会在不相关的地方的其他地方重用该行为,请将其作为特征。
所以我明白了我们可以用特征做什么,但在什么情况下我们应该更喜欢使用特征而不是具体的 class?我被告知要尽可能地使用特征,当我需要实例化某些东西时使用常规 class.
编辑:我实际上是在问什么时候使用具体的特征 class 而不是抽象的特征
通常情况下,没有单一的规则,但我个人认为 Odersky/Spoon/Venners 书 "Programming in Scala" 中给出的一般性建议很有用。
它表示如果该行为不会在其他不相关的 class 中重用,请使用具体的 class。另一方面,如果您认为您会在不相关的地方的其他地方重用该行为,请将其作为特征。