设计模式C++实现(16)——状态模式
来源:互联网 发布:matlab mac 2015b官方 编辑:程序博客网 时间:2024/06/14 21:00
状态模式:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。它有两种使用情况:(1)一个对象的行为取决于它的状态, 并且它必须在运行时刻根据状态改变它的行为。(2)一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。本文的例子为第一种情况,以战争为例,假设一场战争需经历四个阶段:前期、中期、后期、结束。当战争处于不同的阶段,战争的行为是不一样的,也就说战争的行为取决于所处的阶段,而且随着时间的推进是动态变化的。下面给出相应的UML图。
实现的代码比较简单,给出War类和State类,War类中含State对象(指针形式)。
给出具体的状态类:
使用方式:阅读全文
0 0
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- 设计模式C++实现(16)——状态模式
- Nginx+Tomcat搭建高性能负载均衡集群
- 取模定义及性质
- 测试
- 20170805Python06_判断和循环
- Redis入门实战(一)
- 设计模式C++实现(16)——状态模式
- 剑指offer:反转链表
- thinkPHP5.0在PHP中的基本操作-------(二)
- 习题 3.6 请编程序将"China"译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。
- 计算几何之判断线段是否相交
- 2017多校第4场 HDU 6078 Wavel Sequence DP,计数
- Openlayers4中地图的导出
- Java开发学习笔记:Java实现多线程的方法
- git(十三)-git subtree