打字猴:1.700473727e+09
1700473727
1700473728 public abstract class State{
1700473729
1700473730 //定义一个环境角色,提供子类访问
1700473731
1700473732 protected Context context;
1700473733
1700473734 //设置环境角色
1700473735
1700473736 public void setContext(Context_context){
1700473737
1700473738 this.context=_context;
1700473739
1700473740 }
1700473741
1700473742 //行为1
1700473743
1700473744 public abstract void handle1();
1700473745
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();
[ 上一页 ]  [ :1.700473727e+09 ]  [ 下一页 ]