나는 제네릭과 같이가는 특성이 있습니다스칼라는 일반 유형에서 구체적인 클래스의 인스턴스를
object MyTraitFactory {
def apply[T](param1: Boolean, param2: Boolean): MyTrait[T] = {
// based on the type of T, I would like to instantiate sub types
}
}
I :
trait MyTrait[T] {
def doSomething(elems: Seq[T])
}
그때 그 정의를 다음과 같이가는 객체 공장을 예를 들면 다음과 같은 구체적인 구현이 있습니다.
class MyStringTrait extends MyTrait[String]
class MyIntTrait extends MyTrait[Int]
이제는 내 객체 팩토리에 입력하고 해당 구현을 인스턴스화합니다. 어떤 제안?