状态模式

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();
	}
}


 

阅读更多
文章标签: actor class string java
个人分类: java中的设计模式
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

状态模式

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭