Como inicializar uma variável de característica que é um val
Eu tenho MyObject e 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
}
Isso funciona bem como isso
val myObject = new MyObject("abc")
println(myObject.name)
myObject.foo("def")
println(myObject.name)
impressões
abc
def
como esperado.
Problema agora é que eu quero MyTrait._name para ser um val em vez de um var. Mas não há como conseguir isso para compilar. Quaisquer sugestões apreciadas.
Atenciosamente, Oliver