Cómo inicializar una variable de rasgo que es un val
Tengo MyObject y 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
}
Esto funciona bien ya que esto
val myObject = new MyObject("abc")
println(myObject.name)
myObject.foo("def")
println(myObject.name)
huellas dactilares
abc
def
como se esperaba.
El problema ahora es que quiero que MyTrait._name sea un val en lugar de una var. Pero no hay manera de que pueda lograr compilar esto. Cualquier consejo apreciado.
Saludos, Oliver