行为型模式 --- 状态模式
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();
}
}
}