📄 context.java
字号:
package org.gof.action.state;
/**
* <p>Title: state模式</p>
* <p>Description:state模式范例</p>
* <p>Copyright: Copyright (c) 2007</p>
* 不同的状态,不同的行为;或者说,每个状态有着相应的行为
* @author by lbj
* @version 1.0
*/
public class Context {
private State state = null; //我们将原来的 Color state 改成了新建的State state;
//setState是用来改变state的状态 使用setState实现状态的切换
public void setState(State state) {
this.state = state;
}
public void push() {
//状态的切换的细节部分,在本例中是颜色的变化,已经封装在子类的handlepush中实现,这里无需关心
state.handlepush(this);
//因为sample要使用state中的一个切换结果,使用getColor()
// Sample sample = new Sample(state.getColor());
// sample.operate();
}
public void pull() {
state.handlepull(this);
// Sample2 sample2 = new Sample2(state.getColor());
// sample2.operate();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -