java状态模式怎么实现

avatar
作者
猴君
阅读量:0

在Java中实现状态模式,可以按照以下步骤进行:

  1. 定义状态接口:创建一个状态接口,包含所有状态类共有的方法。
public interface State {     void doAction(Context context); } 
  1. 实现具体状态类:创建多个具体状态类,实现状态接口,并根据具体需求实现对应的方法。
public class StartState implements State {     public void doAction(Context context) {         System.out.println("Player is in start state");         context.setState(this);     }      public String toString() {         return "Start State";     } }  public class StopState implements State {     public void doAction(Context context) {         System.out.println("Player is in stop state");         context.setState(this);     }      public String toString() {         return "Stop State";     } } 
  1. 定义上下文类:创建一个上下文类,包含状态对象,并提供对外的设置状态和执行状态方法。
public class Context {     private State state;      public void setState(State state) {         this.state = state;     }      public State getState() {         return state;     }      public void doAction() {         state.doAction(this);     } } 
  1. 测试状态模式:创建一个测试类,用于测试状态模式的使用。
public class StatePatternDemo {     public static void main(String[] args) {         Context context = new Context();          StartState startState = new StartState();         startState.doAction(context);          System.out.println(context.getState().toString());          StopState stopState = new StopState();         stopState.doAction(context);          System.out.println(context.getState().toString());     } } 

通过上述步骤,就可以在Java中实现状态模式。状态模式可以使对象在不同的状态下具有不同的行为,同时也可以方便地增加新的状态类。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!