设计模式(6)---状态模式
来源:互联网 发布:华为整体网络解决方案 编辑:程序博客网 时间:2024/05/24 00:49
package design;/** * * 状态模式:强调状态的自动改变,不需要外部进行干涉。 * 与策略模式区别:不存在外部设置状态方法,状态的改变由内部环境类进行改变* @Title: StateDesign.java * @Package */public class StateDesign { /*环境类*/ class ButtonSwitch{ private LightState state; private boolean lightFlag = false; public void push(){ if(lightFlag){ state = new OnState(); lightFlag = false; }else { state = new OffState(); lightFlag = true; } state.push(); } } /*状态接口*/ interface LightState{ public void push(); } class OnState implements LightState{ public void push(){ System.out.println("点灯被点亮了!"); } } class OffState implements LightState{ public void push(){ System.out.println("点灯被关闭了!"); } } /*客户端*/ public static void main(String[] args) { ButtonSwitch switch1 = new StateDesign().new ButtonSwitch(); switch1.push(); switch1.push(); }}
0 0
- 设计模式(6)---状态模式
- 设计模式(状态模式)
- 设计模式:状态模式
- 设计模式-----状态模式
- 设计模式 状态模式
- 设计模式 - 状态模式
- 设计模式---状态模式
- 设计模式-状态模式
- 设计模式:状态模式
- 设计模式 - 状态模式
- 设计模式-状态模式
- 设计模式--状态模式
- 设计模式-状态模式
- 设计模式:状态模式
- 设计模式-状态模式
- 设计模式-状态模式
- [设计模式]状态模式
- 设计模式 状态模式
- iOS AppStore 申请加急审核
- Google推出iOS功能性UI测试框架EarlGrey
- 绑定型service
- linux-test测试
- LeetCode_OJ【63】Unique Paths II
- 设计模式(6)---状态模式
- js中bind、call、apply函数的用法
- 字符集之间转换
- monkey离线运行之shell脚本实现
- 让Xcode使用旧版Xcode的SDK
- Nginx安装部署
- 企业元老级员工的激励方式两大解决方案
- Apache安装部署静态网站
- VS2012注册ActiveX控件失败的解决方案