1.首先我们需要一个抽象状态类
abstract class State{
abstract void handler(Context context);
}
2.实现几个具体的状态类
class ConcreteStateA extends State{
public override void handler(Context context){
context.state=new ConcreteStateB();
}
}
class ConcreteStateB extends State{
public override void handler(Context context){
context.state=new ConcreteStateA();
}
}
3.定义Context类
class Context{
private State state;
public Context(State state){
this.state=state;
}
public void request(){
this.state.handler(this);
}
}