1700473746
//行为2
1700473747
1700473748
public abstract void handle2();
1700473749
1700473750
}
1700473751
1700473752
抽象环境中声明一个环境角色,提供各个状态类自行访问,并且提供所有状态的抽象行为,由各个实现类实现。具体环境角色如代码清单26-15所示。
1700473753
1700473754
代码清单26-15 环境角色
1700473755
1700473756
public class ConcreteState1 extends State{
1700473757
1700473758
@Override
1700473759
1700473760
public void handle1(){
1700473761
1700473762
//本状态下必须处理的逻辑
1700473763
1700473764
}
1700473765
1700473766
@Override
1700473767
1700473768
public void handle2(){
1700473769
1700473770
//设置当前状态为stat2
1700473771
1700473772
super.context.setCurrentState(Context.STATE2);
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
[
上一页 ]
[ :1.700473746e+09 ]
[
下一页 ]