在Scala中,如何初始化traits中的抽象VAL?
假设我有以下两个抽象VAL的特征在Scala中,如何初始化traits中的抽象VAL?,scala,Scala,假设我有以下两个抽象VAL的特征 trait Base { val startDate: java.util.Date val endDate: java.util.Date } 我现在有一个抽象类扩展了trait abstract class MyAbstract extends Base ... 现在,我想用一些其他特性来实例化这个抽象类 def main(args: Array[String]) { new MyAbstract with MixIn1 with Mi
trait Base {
val startDate: java.util.Date
val endDate: java.util.Date
}
我现在有一个抽象类扩展了trait
abstract class MyAbstract extends Base ...
现在,我想用一些其他特性来实例化这个抽象类
def main(args: Array[String]) {
new MyAbstract with MixIn1 with MixIn2
}
如何为startDate和endDate传递具体值?因为
MyAbstract
是一个抽象类,所以不能直接实例化它。您需要显式地将其子类化,或者创建一个匿名子类的实例,例如
def main(args: Array[String]) {
val myInstance = new MyAbstract with MixIn1 with MixIn2 {
val startDate = ...
val endDate = ...
}
}