我有 MyObject 和 MyTrait:
class MyObject(private val myname: String = "") extends MyTrait {
_name = myname
def foo(myname : String) {
_name = myname
}
}
trait MyTrait {
protected var _name: String = _
def name = _name
}
这很好用
val myObject = new MyObject("abc")
println(myObject.name)
myObject.foo("def")
println(myObject.name)
印刷
abc
def
正如预期的那样。
现在的问题是我希望 MyTrait._name 是 val 而不是 var。但是我无法设法让它编译。任何提示表示赞赏。
问候,奥利弗