行为型模式 --- 状态模式

2020-09-06  本文已影响0人  十二找十三
核心思想就是:当对象的状态改变时,同时改变其行为
package study.org;

public class Demo {
    public static void main(String[] args) {
        State state = new State();
        Context context = new Context(state);

        // 设置第一种状态
        state.setValue("state1");
        context.method();

        // 设置第二种状态
        state.setValue("state2");
        context.method();
    }
}

class State {
    private String value;

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public void method1() {
        System.out.println("execute method1!");
    }

    public void method2() {
        System.out.println("execute method2!");
    }
}

class Context {

    private State state;

    public Context(State state) {
        this.state = state;
    }

    public State getState() {
        return state;
    }

    public void setState(State state) {
        this.state = state;
    }

    public void method() {
        if (state.getValue().equals("state1")) {
            state.method1();
        } else if (state.getValue().equals("state2")) {
            state.method2();
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读