Я пытаюсь передать состояние объекта «наружу», поэтому его можно восстановить позже, передав его обратно, но не раскрывая частное состояние внешнему миру , В Java, я мог бы сделать это с внутренним классом:Доступ к частному полю внутренних классов
class Walker {
class State {
private int pos;
private State (int p) {
pos = p;
}
}
private int pos = 0;
State setState() {
return new State(pos);
}
void setState (State s) {
pos = s.pos;
}
}
Однако, если я пытаюсь то же самое в Scala, он говорит, что Уокер # SetState не могут получить доступ к государственным # позам.
class Walker {
private var pos = 0
def state = new Walker.State(pos)
def state_= (s: Walker.State) {
pos = s.pos
}
}
object Walker {
class State (private val pos: Int)
}
Как архивировать то же, что и на Java? (Другие, что клонирование объекта)
Спасибо! Раньше я не знал об этом частном синтаксисе [Что-то]. Я также даже не рассматривал вопрос, может ли '' Уокер'' обменять '' Государство''. – edave