初始化辅助函数中的变量

问题描述

| 有时我正在建立一个我想在其中添加
reset
函数的类。例如
class DFA(val initialState:State) {
    var states = Map[State,State]()
    var currentState: State = initialState
    reset
    def reset {currentState = initialState}
}
糟糕!您的DRY铃铛没有响吗?我将
currentState
设置为
initialState
两次。一次在
reset
中,一次在构造函数中。我不能只留下未初始化的ѭ5,否则编译器会抱怨。 我当然可以
class DFA(val initialState:State) {
    var states = Map[State,State]()
    var evilNullVariableWeMustNeverUse = null
    var currentState: State = evilNullVariableWeMustNeverUse
    reset
    def reset {currentState = initialState}
}
但我认为这样做的缺点是显而易见的。 在这种简单的情况下,还算不错,但是如果您有5个变量或更复杂的逻辑,它将变得令人讨厌。 我该如何设计?     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)