中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java狀態模式怎么實現

小億
90
2023-11-08 17:14:08
欄目: 編程語言

在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中實現狀態模式。狀態模式可以使對象在不同的狀態下具有不同的行為,同時也可以方便地增加新的狀態類。

0
海原县| 宁化县| 贺兰县| 长春市| 孟州市| 舞阳县| 化州市| 西华县| 麻城市| 江山市| 高碑店市| 体育| 咸丰县| 长葛市| 和硕县| 嘉义县| 开阳县| 阿拉善右旗| 平阳县| 固阳县| 南川市| 马边| 汉川市| 神木县| 乌兰浩特市| 电白县| 简阳市| 皮山县| 当阳市| 济南市| 松滋市| 闽清县| 勃利县| 内丘县| 策勒县| 三门峡市| 嘉荫县| 游戏| 灵宝市| 平乡县| 临湘市|