设计模式_状态模式

Posted tjc1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式_状态模式相关的知识,希望对你有一定的参考价值。

模式:行为型模式

? 代码
上下文

public interface Context {
    public void setState(State state);
    public void print();
}

上下文实现

public class DefaultContext implements Context {

    private State state;

    public State getState() {
        return state;
    }

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

    @Override
    public void print() {
        this.state.print();
    }
}

状态抽象

public interface State {
    public String doAction(Context context);
    public void print();
}

状态实现1

public class StartState implements State {
    @Override
    public String doAction(Context context) {
        context.setState(this);
        return null;
    }

    @Override
    public void print() {
        System.out.println("StartState");
    }
}

状态实现2

public class EndState implements State {
    @Override
    public String doAction(Context context) {
        context.setState(this);
        return null;
    }

    public void print(){
        System.out.println("EndState");
    }
}

以上是关于设计模式_状态模式的主要内容,如果未能解决你的问题,请参考以下文章