java装饰者模式小结
来源:互联网 发布:网络攻击方式 编辑:程序博客网 时间:2024/05/29 07:19
装饰者模式例子
interface Worker{
public void doSomeWork();
}
class Carpenter implements Worker{
public void doSomeWork(){
System.out.println("修水管");
}
}
class Plumber implements Worker{
public void doSomeWork(){
System.out.println("家具制造");
}
}
/**
* BWorker 用来装饰 Worker实现类 Plumber类和Carpenter类
**/
class AWorker implements Worker{
private Worker worker;
//根据传递进来不同对象值,向上转型
public AWorker(Worker worker){
this.worker = worker;
}
public void doSomeWork(){
System.out.println("你好!");
worker.doSomeWork();
}
}
/**
* BWorker 用来装饰 Worker实现类 Plumber类和Carpenter类
**/
class BWorker implements Worker{
private Worker worker;
//根据传递进来不同对象值,向上转型
public BWorker(Worker worker){
this.worker = worker;
}
public void doSomeWork(){
System.out.println("BWorker 售后服务!");
worker.doSomeWork();
}
}
import java.io.*;
class Test{
public static void main(String args[]){
Plumber plumber = new Plumber();
//传递Plumber类对象的引用
AWorker aWorker = new AWorker(plumber);
aWorker.doSomeWork();
Carpenter carpenter = new Carpenter();
//传递Carpenter类对象的引用
AWorker aWorker2 = new AWorker(carpenter);
aWorker2.doSomeWork();
Plumber plumber2 = new Plumber();
//传递Plumber类对象的引用
BWorker bWorker = new BWorker(plumber2);
bWorker.doSomeWork();
Carpenter carpenter2 = new Carpenter();
//传递Carpenter类对象的引用
BWorker bWorker2 = new BWorker(carpenter2);
bWorker2.doSomeWork();
}
}
- java装饰者模式小结
- 装饰者模式小结
- java装饰者模式
- Java装饰者模式
- java装饰者模式
- java装饰者模式
- java装饰者模式
- java装饰者模式
- Java装饰者模式
- java装饰者模式
- java装饰者模式
- java装饰者模式
- 装饰者模式java
- JAVA装饰者模式
- Java装饰者模式
- java装饰者模式
- Java装饰者模式
- JAVA装饰者模式
- 开灯问题 学习
- 将博客搬至CSDN
- 在虚拟机中运行xp系统使用protel
- 程序员需要有多懒 ?- cocos2d-x 数学函数、常用宏粗整理
- 理解MySQL数据库覆盖索引
- java装饰者模式小结
- C++如何实现string的trim功能? (已经包含trimLeft和trimRight)
- 递归算法详细分析-> C
- nginx的worker_processes优化
- Object-C 重载
- linux 应用程序安装过程
- 使用Custom Draw实现ListCtrl的重绘
- 在软键盘上绘制焦点并移动焦点
- 面临毕业找工作的囧困