2

我在 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的方法变化很大。A/B/C 中没有状态,也没有设置参数。ToolAToolBToolC

有什么说法…… “make toolscontains the set of all the methods in ToolA, ToolB, and ToolC

4

1 回答 1

6

将 ToolA、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
于 2013-02-16T01:08:30.713 回答