Collar が不変になるように、次の例を作成したい
trait Collar{
var text:String="";
}
class dog(val name:String){
def bark()= ...
}
val snoopy = new dog("snoopy") with Collar;
snoopy.text="charley's dog";
println(snoopy.text)
しかし、次のようなことをしようとすると
trait Collar(val text:String){
}
コンパイル時エラーが発生します
traits or objects may not have parameters
現在、これを行う方法はありますか?そうでない場合、なぜですか?
良い犬は首輪をつけていても気にしないことを覚えておいてください。