状态模式

原创 2012年03月30日 22:49:18

java中状态模式的一个小例子:

class Actor {
	public void act() {
	}
}

class HappyActor extends Actor {
	public void act() {
		System.out.println("HappyActor");
	}
}

class SadActor extends Actor {
	public void act() {
		System.out.println("SadActor");
	}
}

class Stage {

	/**
	 * 初始状态
	 * */
	private Actor actor = new HappyActor();

	/**
	 * 改变其状态
	 * */
	public void change() {
		actor = new SadActor();
	}

	/**
	 * 显示其行为
	 * */
	public void performPlay() {
		actor.act();
	}
}

public class Transmogrify {
	public static void main(String[] args) {
		Stage stage = new Stage();

		/**
		 * 显示初始状态信息
		 * */
		stage.performPlay();

		/**
		 * 改变其状态
		 * */
		stage.change();

		/**
		 * 打印状态改变后的信息
		 * */
		stage.performPlay();
	}
}


 

相关文章推荐

状态模式Demo

  • 2017年05月12日 10:57
  • 22.39MB
  • 下载

状态模式(python)

状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 应用场景:一个对象的行为取决于它的状态,即它必须在运行时刻根据状态改变它的行为。如果控制状态转换的条件表达式过于复...

状态模式及具体实现

  • 2014年02月06日 16:23
  • 58KB
  • 下载

Headfirst(十)状态模式C++实现

  • 2015年10月21日 15:38
  • 1.51MB
  • 下载

android项目重构之状态模式

闲来无事,继续对项目进行重构。这段时间在研究设计模式,苦于没有地方实战,不过现在机会来了。 这个项目是一个平台的商家版,所以会涉及到订单,其中有一个订单详情的页面。就是从网络拉取数据进行数据展示,还有...
  • vinoMVP
  • vinoMVP
  • 2016年06月14日 14:07
  • 782

状态模式小例子

  • 2014年06月08日 11:36
  • 5.32MB
  • 下载

每天感悟总结-状态模式State

  • 2009年03月10日 15:12
  • 2KB
  • 下载

Android开发之状态模式

1.状态模式定义    状态模式(State Pattern)属于对象行为型模式,其意图是允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 2.状态模式角色    Con...

状态模式代码

  • 2007年10月12日 13:16
  • 28KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:状态模式
举报原因:
原因补充:

(最多只允许输入30个字)