状态模式
来源:互联网 发布:主机屋注册域名 编辑:程序博客网 时间:2024/05/16 12:21
模式定义:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。(Allow an object to alter its behavior when its internal state changes. The object will appear to change its class)
具体说明:行为型模式。状态模式将对象的行为用状态类的行为来实现,对对象所有可能出现的状态都需要创建一个状态类,这些类继承于同一个状态父类。由于对象包含一个状态父类的指针,当对象的内部状态发生改变时,便将对象内状态指针指向具体不同的状态子类对象(或者实现为不同的状态子类对象)。这时,由于对象的行为是由状态的行为来实现的,调用对象的方法就间接的调用了对象内部状态指针的方法, 由状态指针的多态性,体现到外部对象上即改变了对象的行为。
模式应用:1)游戏中角色的技能系统,当技能的熟练度(该技能使用次数)不同时,对怪物所造成的伤害也不同; 2)网上商城的积分系统,当积分不同是,同样的打折行为折扣率不同,比如100分以下为铜牌会员,打折行为只能打9折,101-300分以下为银牌会员,打折行为是打8折,301-500分为金牌会员,打7折。
UML图示:
****************************************************************************************************
- 状态模式(状态变化)
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- 状态模式
- HTML学习 <一>
- Google服务器架构图解简析
- c#学习笔记——3
- 二叉搜索树中查找与目标数字最接近的节点
- 个人资源地址
- 状态模式
- dll模块资源切换
- 字符串练习3,取两个字符串中最大相同的字串
- 启动Apache时提示错误“Cannot load php5apache2_2.dll into server”
- 搜索引擎的正确使用方法
- 字符串练习4:模拟一个trim功能一致的方法。去除字符串两端的空白
- activity5.9 例子报404错误
- 推荐8个在线调试代码的网站---优秀开发工具
- Hibernate注册自定义类型