码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式_状态模式

时间:2019-05-05 19:22:16      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:context   public   pre   default   code   class   sys   设计模式   action   

模式:行为型模式

? 代码
上下文

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");
    }
}

设计模式_状态模式

标签:context   public   pre   default   code   class   sys   设计模式   action   

原文地址:https://www.cnblogs.com/tjc1996/p/10815599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!