我希望将Scala中的许多无状态对象组合在一起,形成一个API,如下所示:
object tools {
// List all methods in toolA
// List all methods in toolB
// List all methods in toolC
}
object ToolA { ... }
object ToolB { ... }
object ToolC { ... }
显然,在
tools
中维护列表很烦人,因为ToolA
,ToolB
和ToolC
中的方法正在发生很大变化。 A / B / C中没有状态,没有设置参数。有什么方法可以说...“使
tools
包含ToolA
,ToolB
和ToolC
中的所有方法的集合”? 最佳答案
将工具A,B和C定义为特征
trait ToolA {
//stateless methods in ToolA
}
那你可以做
object tools extends ToolA with ToolB with ToolC
您还可以仅对ToolA,ToolB和ToolC使用帮助对象。
object toolA extends ToolA
object toolB extends ToolB
object toolC extends ToolC