状态模式(State)-----基于JAVA语言
来源:互联网 发布:红色警戒2超级武器知乎 编辑:程序博客网 时间:2024/06/16 08:24
状态模式(State)
核心思想就是:当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作。再比如交通灯,有红黄绿三种状态,每种状态下操作也是不一样的
例子:
核心思想就是:当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作。再比如交通灯,有红黄绿三种状态,每种状态下操作也是不一样的
例子:
状态模式(State)核心思想就是:当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作。再比如交通灯,有红黄绿三种状态,每种状态下操作也是不一样的例子://状态类public 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 the first opt!"); } public void method2(){ System.out.println("execute the second opt!"); } }//Context类可以实现切换状态public 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(); } } } //测试类public class Test { 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(); } }
阅读全文
0 0
- 状态模式(State)-----基于JAVA语言
- Java语言设计模式之状态模式(State)
- Java 状态模式(State)
- Java状态模式(State)
- java设计模式-状态模式(State)
- Java状态模式(State模式)
- Java设计模式----状态模式(State)
- Java状态模式(State模式)
- Java模式 - 状态模式(State)
- 状态模式(State)
- State(状态模式)
- State(状态)模式
- 状态(State)模式
- 状态模式(State)
- 状态模式(State)
- 状态模式(State)
- State(状态模式)
- State(状态模式)
- radis数据类型
- YTU.2459: 爱你多少年呢
- mysql5.7官网直译SQL语句优化--使用存在策略来优化子查询
- 论文阅读-《Relation Networks for Object Detection》
- Servlet,过滤器,监听器,拦截器的区别
- 状态模式(State)-----基于JAVA语言
- github本地项目上传
- 程序员江湖鄙视链大全,看看你处于链条的哪一级?
- C# IOThread
- redis、memcache和mongodb各自的优缺点是什么,怎么选择呢?
- STM32 配置模版教程
- 从零基础认识 easyUI tree插件
- VB.NET机房收费系统之报表制作(绑定数据源)(一)
- 10个小窍门,让你轻松准确搜索(转)