亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
区。| 林甸县| 三都| 大城县| 藁城市| 古浪县| 昌乐县| 宜阳县| 杂多县| 星子县| 平昌县| 抚顺市| 龙岩市| 始兴县| 尼勒克县| 牡丹江市| 新津县| 邛崃市| 四川省| 贵州省| 丘北县| 靖远县| 新宾| 社会| 永平县| 正阳县| 无极县| 泾源县| 泸水县| 通许县| 大城县| 双牌县| 高邮市| 敦煌市| 英山县| 巴彦县| 扎囊县| 同江市| 开阳县| 临漳县| 永州市|