打字猴:1.700473773e+09
1700473773
1700473774 //过渡到state2状态,由Context实现
1700473775
1700473776 super.context.handle2();
1700473777
1700473778 }
1700473779
1700473780 }
1700473781
1700473782 public class ConcreteState2 extends State{
1700473783
1700473784 @Override
1700473785
1700473786 public void handle1(){
1700473787
1700473788 //设置当前状态为state1
1700473789
1700473790 super.context.setCurrentState(Context.STATE1);
1700473791
1700473792 //过渡到state1状态,由Context实现
1700473793
1700473794 super.context.handle1();
1700473795
1700473796 }
1700473797
1700473798 @Override
1700473799
1700473800 public void handle2(){
1700473801
1700473802 //本状态下必须处理的逻辑
1700473803
1700473804 }
1700473805
1700473806 }
1700473807
1700473808 具体环境角色有两个职责:处理本状态必须完成的任务,决定是否可以过渡到其他状态。我们再来看环境角色,如代码清单26-16所示。
1700473809
1700473810 代码清单26-16 具体环境角色
1700473811
1700473812 public class Context{
1700473813
1700473814 //定义状态
1700473815
1700473816 public final static State STATE1=new ConcreteState1();
1700473817
1700473818 public final static State STATE2=new ConcreteState2();
1700473819
1700473820 //当前状态
1700473821
1700473822 private State CurrentState;
[ 上一页 ]  [ :1.700473773e+09 ]  [ 下一页 ]