设计模式--之state模式 笔记
来源:互联网 发布:基于linux的嵌入式开发 编辑:程序博客网 时间:2024/05/19 20:21
背景: 男孩要最妹妹
经验:在实际工作中,先不要考虑用什么样的设计模式,,然后再考虑重构。
state模式:::一个人的动作或者说一个类的动作,,是根据这个类的状态不同而有不同的动作。
=============================================================
MM类
package com.linux_lihuafeng.state;
public class MM {
private String name;
private MMState state = new MMHappyState();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void smile () {
state.smile();
}
public void cry () {
state.cry();
}
public void say() {
state.say();
}
}
=============================================================
Boy类
package com.linux_lihuafeng.state;
public class Boy {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void pursue(MM mm) {
}
=============================================================
MMState类
package com.linux_lihuafeng.state;
//表示某一种状态下MM怎么笑
public abstract class MMState {
public abstract void smile();
public abstract void cry();
public abstract void say();
}
}
=============================================================
MMHappyState类
package com.linux_lihuafeng.state;
public class MMHappyState extends MMState{
@Override
public void cry() {
System.out.println("呜哈哈");
}
@Override
public void say() {
System.out.println("抱抱");
}
@Override
public void smile() {
System.out.println("哈哈");
}
}
=============================================================
MMUnHappyState类
package com.linux_lihuafeng.state;
public class MMUnHappyState extends MMState{
@Override
public void cry() {
System.out.println("呜呜呜");
}
@Override
public void say() {
System.out.println("滚");
}
@Override
public void smile() {
System.out.println("呵呵");
}
}
- 设计模式之State模式(学习笔记)
- 设计模式--之state模式 笔记
- 设计模式之State模式(笔记)
- 设计模式笔记-State模式
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之State
- 设计模式之 state
- 设计模式之State
- 设计模式之State
- 设计模式之state
- POJ 2236 Wireless Network
- Java Servlet Specification 3.0 之异步处理
- 为什么要努力?
- Android之Activity加载模式简要概述
- cocos2dx常见的46中+22中动作详解
- 设计模式--之state模式 笔记
- Myeclipse6.0.1注册码获取方法
- 设计模式--之Mediator模式 笔记
- poj3468 线段树多段更新学习
- TCP/IP网络协议的通俗理解,socket,http,soap。
- 让程序活起来:用Universal Tween Engine创建动画
- eXtremeDB HA 启动时的同步方式
- 设计模式--之Facade模式 笔记
- 埃及分数