【发布时间】:2016-08-31 23:07:42
【问题描述】:
我有几个类扩展了一个特征。 我创建了一个使用模式匹配来实例化相关类的工厂方法。
问题在于,每当我创建一个扩展此特征的新类时,我都需要手动将其添加到工厂方法中。 是否有一个选项可以从所有可用的类中动态创建类列表?
谢谢
一些代码示例:
当前实现:
object Test {
trait Parent
object Parent{
def apply(classType:String): Parent = classType match {
case "A" => new A
case "B" => new B
case "C" => new C
}
}
class A extends Parent
class B extends Parent
class C extends Parent
}
想要的行为:
object Test {
trait Parent
object Parent{
def apply(classType:String): Parent = SomeFunction(ClassType)
}
}
class A extends Parent
class B extends Parent
class C extends Parent
}
【问题讨论】:
-
给我一些代码:)
标签: scala reflection factory