美文网首页
行为型模式 --- 状态模式

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

作者: 十二找十三 | 来源:发表于2020-09-06 21:53 被阅读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();
        }
    }
}

相关文章

网友评论

      本文标题:行为型模式 --- 状态模式

      本文链接:https://www.haomeiwen.com/subject/bfjhektx.html