有一个带有内部类的类:
public class ParentClass {
//состояние объекта
public class State {
public void action(){}
}
public State currentState;
public void setState(int stateID) {
if(stateID==0) currentState = new Born();
if(stateID==1) currentState = new Life();
if(stateID==2) currentState = new Dead();
}
//виды состояний
public class Born extends State {
@Overide
public void action(){}
}
public class Life extends State {
@Overide
public void action(){}
}
public class Dead extends State {}
@Overide
public void action(){}
}
///уделяем объекту внимание
public void Action (){
currentState.action();
}
}
如何在不继承类本身的情况下覆盖继承人内部类 Born Life 和 Dead 的方法?
Задумка была простой
1. Обеспечить каждого наследника своей реализацией методов action().
2. Оставить метод переключений состояния объекта setState() в родителе.
在您的示例中,不是本地课程,而是内部课程。
如果我理解正确,它是这样的:
或者一般是这样的:
但总的来说,该模式
State
最好以稍微不同的方式实现。我将如何实现该模式
State
2种状态,如开和关:
电机本身: