Java设计模式_结构型_装饰模式_是海军还是空军
来源:互联网 发布:linux dd bs count 编辑:程序博客网 时间:2024/05/22 06:13
转载请注明出处:http://blog.csdn.net/ljmingcom304/article/details/50455650
本文出自:【梁敬明的博客】
1.人类角色
存在一个抽象的人类角色,每个人类角色根据所在的行业的不同,所扮演的职业角色也不同。
//抽象构建角色public interface Person { void operation();}
2.士兵角色
其中有一类士兵的角色,他们的职责就是保家卫国。
public class Soldier implements Person { @Override public void operation() { System.out.println("保卫国家"); }}
3.装饰角色
持有一个人类角色的实例,并定义了人类角色定义的接口。
public class Decorator implements Person { private Person component; public Decorator(Person component){ this.component = component; } @Override public void operation() { component.operation(); }}
4.空军海军
给士兵装备军舰,这样的士兵我们通常称为海军。给士兵装备上飞机,这样的士兵我们通常称为空军。
public class Navy extends Decorator { public Navy(Person component) { super(component); } @Override public void operation() { System.out.print("在海上装备军舰"); super.operation(); }}public class Airforce extends Decorator { public Airforce(Person component) { super(component); } @Override public void operation() { System.out.print("在天空装备飞机"); super.operation(); }}
5.保卫国家
一个普通的士兵,通过不同的装备,可以扮演不同的角色,海军在海上保卫国家,空军在天空保卫国家。
public class Client { public static void main(String[] args) { Soldier soldier = new Soldier(); Navy navy = new Navy(soldier); navy.operation(); Airforce airforce = new Airforce(soldier); airforce.operation(); }}
0 0
- Java设计模式_结构型_装饰模式_是海军还是空军
- Java设计模式_(结构型)_装饰模式
- 设计模式_结构型模式_装饰模式
- Java设计模式_(结构型)_适配器模式
- Java设计模式_(结构型)_组合模式
- Java设计模式_(结构型)_外观模式
- Java设计模式_(结构型)_桥接模式
- Java设计模式_(结构型)_代理模式
- Java设计模式_(结构型)_享元模式
- java设计模式_装饰模式
- java设计模式11_装饰模式
- Java 设计模式_装饰器模式
- java基础_设计模式_装饰者模式
- 设计模式_装饰模式
- Java设计模式_行为型_状态模式_工作还是休息
- Java设计模式_行为型_策略模式_工作还是休息
- 23种设计模式(8)_结构型_装饰者模式(Decorator Pattern)
- Java设计模式_结构型_桥接模式_以不变应万变
- Android 对象序列化 Serializable实现与Parcelabel实现的区别
- 程序员如何提高影响力:手把手教你塑造个人品牌
- RK3288改开机logo问题
- html+css学习笔记
- Linux Shell 编程语法
- Java设计模式_结构型_装饰模式_是海军还是空军
- spring注解大全启用
- java批量生成sqoop任务
- 【网络流】【费用流】[POJ 2516]Minimum Cost
- Android 定位和地图
- LCD驱动流水帐记录
- Android Fragment使用Toolbar
- Angularjs1.x 中的 service,factory,provider,constant,value
- BASIC-12十六进制转八进制 (用java超时的原因)