继承和组合的运用 状态模式
2009-08-07 13:02
246 查看
class Actor
{
public void act()
{
}
}
class HappyActor extends Actor
{
public void act()
{
System.out.println("Happy Actor");
}
}
class SadActor extends Actor
{
public void act()
{
System.out.println("Sad Actor");
}
}
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();
}
}
用继承表达行为间的差异, 并用字段表达状态上的变化
输出 Happy Actor
Sad Actor
{
public void act()
{
}
}
class HappyActor extends Actor
{
public void act()
{
System.out.println("Happy Actor");
}
}
class SadActor extends Actor
{
public void act()
{
System.out.println("Sad Actor");
}
}
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();
}
}
用继承表达行为间的差异, 并用字段表达状态上的变化
输出 Happy Actor
Sad Actor
相关文章推荐
- 谈谈有关设计模式的思想精髓:变继承关系为组合关系、如何创建对象(单例、状态、装饰者模式)
- java中的状态模式-继承和组合的使用
- [js高手之路]设计模式系列课程-组合模式+寄生组合继承实战新闻列表
- 剖析设计模式编程中C#对于组合模式的运用
- 由模式谈面向对象的原则之多用组合、少用继承
- 设计模式----优先使用对象组合,而非类继承
- js 组合继承(使用原型模式和构造函数模式)和原型式继承
- 由模式谈面向对象的原则之多用组合、少用继承
- 类继承和对象组合(摘录设计模式)
- Head First 设计模式--1策略模式 组合优于继承
- 设计模式 -- 组合模式的一次运用实践
- 组合还是继承,这是一个问题?——由模式谈面向对象的原则之多用组合、少用继承
- iOS应用开发中运用设计模式中的组合模式的实例解析
- 实例讲解C++设计模式编程中State状态模式的运用场景
- 5.javascript 对象继承 ---组合模式
- javascript中最常用的继承模式 组合继承
- 【设计模式】继承和对象组合
- 组合还是继承,这是一个问题?——由模式谈面向对象的原则之多用组合、少用继承
- 命令模式-适配器模式-外观模式-模板方法模式-迭代器模式-组合模式-状态模式-代理模式
- 设计模式之多用组合,少用继承