设计模式——装饰者模式
2011-11-19 23:36
281 查看
package com.hujl.demo; /** * 定义一个接口 * @author Janrone * @website http://hujl.sinaapp.com */ public interface Worker { public void doSometing(); }
package com.hujl.demo; /** * 创建一个电工类 * @author Janrone * @website http://hujl.sinaapp.com */ public class Wireman implements Worker{ @Override public void doSometing() { System.out.println("我是电工,负责维修电路!"); } }
package com.hujl.demo;/*** 创建一个清洁工类* @author Janrone* @website http://hujl.sinaapp.com */public class Dustman implements Worker{@Overridepublic void doSometing() {System.out.println("我是清洁工,负责打扫卫生!");}}
package com.hujl.demo;/*** 创建一个A物业公司* @author Janrone* @website http://hujl.sinaapp.com */public class Aproperty implements Worker {private Worker worker;public Aproperty(Worker worker){this.worker=worker;}@Overridepublic void doSometing() {// TODO Auto-generated method stubSystem.out.println("您好,A物业公司.");worker.doSometing();}}
package com.hujl.demo;/*** 创建一个B物业公司* @author Janrone* @website http://hujl.sinaapp.com */public class Bproperty implements Worker {private Worker worker;public Bproperty(Worker worker) {this.worker = worker;}@Overridepublic void doSometing() {// TODO Auto-generated method stubSystem.out.println("您好,B物业公司.");worker.doSometing();}}
public class Test {/*** @param args*/public static void main(String[] args) {//生成一个电工对象Wireman worker=new Wireman();//生成A物业公司对象Aproperty aproperty=new Aproperty(worker);aproperty.doSometing();////生成B物业公司对象Bproperty bproperty=new Bproperty(worker);bproperty.doSometing();}}
相关文章推荐
- 设计模式No.2——装饰者模式
- java设计模式:装饰者模式
- 设计模式之代理模式和装饰者模式的区别(java)
- 1.Java设计模式-->装饰者模式
- 深入理解JavaScript系列(29):设计模式之装饰者模式详解
- 深入浅出设计模式-003:装饰者模式(Decorator Pattern)
- 设计模式之C++实现(三)---装饰者模式(Decorator)
- 设计模式----适配器、装饰者和外观模式
- 【C#设计模式-装饰者模式】
- 设计模式学习之装饰者模式(Decorator)
- 设计模式——装饰者模式
- 设计模式(9)——装饰者模式(Decorator Pattern)
- JAVA设计模式初探之装饰者模式
- 【原】从头学习设计模式(五)——装饰者模式
- 设计模式之装饰者模式
- C++设计模式之装饰者模式(Decorator)
- 【JS设计模式】装饰者模式和组合模式两者很像,那么这二者之间又有什么区别呢?
- 装饰者设计模式
- 设计模式之装饰者模式