定义
- 用类来表示状态。
- 行为随着状态对象改变而改变。
使用场景
- 代码中包含大量与对象状态有关的条件语句。
- 对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。
UML图
代码示例
公交车状态
// 公交车的状态
public interface State {
//开门
public void openDoor();
//加速
public void speedUp();
}
//停止状态
public class StopState implements State {
private static StopState stopState = new StopState();
public static StopState getInstance(){
return stopState;
}
@Override