java设计模式——状态设计模式

来源:互联网 发布:米多大数据引擎 编辑:程序博客网 时间:2024/06/01 19:11

对象的行为取决于它的状态,并且必须在运行时改变它的行为

角色:
1.Context
定义客户感兴趣的接口。
维护一个ConcreteState子类的实例,这个实例定义当前状态。
2.State
定义一个接口以封装与Context的一个特定状态相关的行为。
3.ConcreteStatesubclasses
每一子类实现一个与Context的一个状态相关的行为。
距离:

public interface State {//状态的接口    public void run();}public class Context implements State {    private State state=new Rain();    public void setState(State state){        this.state=state;    }    @Override    public void run() {        state.run();    }}public class Text {    public static void main(String[] args) {        // TODO Auto-generated method stub        Context context=new Context();        context.run();        context.setState(new Snow());//改变状态        context.run();    }}//状态类public class Rain implements State{    @Override    public void run() {        // TODO Auto-generated method stub        System.out.println("在下雨");    }}……
0 0
原创粉丝点击