这是Scala代码:
class FullDescription(val description: String)
class Logger {
val description = //?????
def onAttach(description: String) =
description = new FullDescription(description)
// val lazy description = onAttach(???) --
// ops! we don't know its actual argument,
// besides we should be able to make
// val description be evaluated from onAttach(...) and not vise versa
}
对于任何类Logger
,都可以保证方法onAttach
只会被调用一次。但是,何时调用方法onAttach
是未知的。
是否可以保持val description
不可变,我该怎么做? lazy
评估或其他什么?