状态模式-马士兵设计模式教程
来源:互联网 发布:sql server 实例 编辑:程序博客网 时间:2024/05/21 16:55
//表示状态的接口类public interface State {void smile();void cry();void say();}//高兴的状态public class HappyState implements State{@Overridepublic void cry() {System.out.println("高兴的哭");}@Overridepublic void say() {System.out.println("高兴的说");}@Overridepublic void smile() {System.out.println("高兴的笑");}}//不高兴的状态public class UnHappyState implements State{@Overridepublic void cry() {System.out.println("伤心的哭");}@Overridepublic void say() {System.out.println("不高兴的说");}@Overridepublic void smile() {System.out.println("不高兴的笑");}}public class MM{private State state = new HappyState();//在这里的状态决定了mm的行为private String name;public MM(State state){//可以在外部传递mm的状态this.state=state;}public MM(){}public String getName() {return name;}public void setName(String name) {this.name = name;}public void cry() {state.cry();}public void say() {state.say();}public void smile() {state.smile();}}public class Test {public static void main(String[] args) {MM mm = new MM(new HappyState());mm.cry();MM mm1=new MM(new UnHappyState());mm1.cry();/** * 运行结果: * 高兴的哭 * 伤心的哭 */}}
- 状态模式-马士兵设计模式教程
- 命令者模式-马士兵设计模式教程 .
- 静态代理模式-马士兵设计模式教程
- 抽象工厂模式第三步-使用抽象工厂模式-马士兵设计模式教程 .
- 简单模拟Comparator-策略设计模式-马士兵设计模式教程
- 简单模拟LinkedList-迭代器设计模式-马士兵设计模式教程 .
- 简单模拟ArrayList-迭代器设计模式-马士兵设计模式教程
- 责任链或过滤器模式3-模拟tomcat的过滤器-马士兵设计模式教程 .
- 责任链或过滤器模式2-使用过滤链-马士兵设计模式教程 .
- 责任链或过滤器模式1-使用过滤器-马士兵设计模式教程 .
- 马士兵 讲 J2SE 设计模式
- 马士兵设计模式讲座总结(1)
- 马士兵设计模式讲座总结(2)
- 马士兵设计模式视屏
- 用java调用编译器编译java文件-马士兵设计模式教程-动态代理 .
- 马士兵设计模式2之观察者模式模拟AWT
- 使用自动生成java文件和自动编译的动态代理模式-马士兵设计模式教程
- 使用自动生成java文件和自动编译的静态代理模式-马士兵设计模式教程
- Linux 忘记密码的处理办法——grub方式
- Windows下在本机创建SVN服务
- UCOS源码详解(转自 不知道)
- File GDB 和Personal GDB的比较
- DP专题2 HDOJ 1003 Max Sum
- 状态模式-马士兵设计模式教程
- 淘宝客网站攻略浅谈
- Linux定时器工具-crontab 各参数详解及如何查看日志记录
- BroadcastReceiver广播
- CAP定理
- 最新最全的网站内容联盟大全
- nwchem-6.0-install
- 使用QUnit 框架测试Javascript代码
- ARM的位置无关程序设计