1.普通状态机public class StateMachine{private final int STATE1 = 1;//以Int表示不同的状态private final int STATE2 = 2;private int state = STATE1;//当前所处的状态public void insertCoin(){if(state == STATE1){......state = STATE2;}else{if(state ==STATE2){.......state = STATE1}2.状态模式,把所有的业务交给状态来完成public interface State{//状态接口doSomeThing();}public class ConcreteState1 implements State{//具体状态实现doSomeThing(){System.out.println("State1");}public class ConcreteState2 implements State{//具体状态实现doSomething(){System.out.pringln("State2");public class Context{//容纳状态private State state1 = new ConcreteState1();private State state2 = new ConcreteState2();private State currentState = state1;public void change(){//利用状态实现业务,并切换状态currentState.doSomething();if(currente == state2){currenteState ==state1;}else{currentState = state2;}
设计技巧26:状态模式 State 用类来表示一个状态
最新推荐文章于 2021-07-16 16:21:53 发布