我想制作以下示例,以便 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
目前有办法做到这一点吗?如果不是,为什么不呢?
请记住,一只好狗不应该在乎它有项圈。