2011-08-10 7 views
4

私は今、私は今で混合いくつかの他の形質と抽象クラスをインスタンス化したい特性Scalaでは、抽象的なvalをどのように初期化するのですか?

abstract class MyAbstract extends Base ... 

を拡張する抽象クラスを持って、私は2つの抽象ヴァルス

trait Base { 
    val startDate: java.util.Date 
    val endDate: java.util.Date 
} 

と、次の特性を持っていると仮定。

def main(args: Array[String]) { 
    new MyAbstract with MixIn1 with MixIn2 
    } 

私はstartDateとendDateの具体的な値をどのように渡しますか?

答えて

10

MyAbstractは抽象クラスなので、直接インスタンス化することはできません。明示的にサブクラス化するか、匿名サブクラスのインスタンスを作成する必要があります(例:

def main(args: Array[String]) { 
    val myInstance = new MyAbstract with MixIn1 with MixIn2 { 
    val startDate = ... 
    val endDate = ... 
    } 
} 
関連する問題