http://write.blog.csdn.net/postedit?ref=toolbar
来源:互联网 发布:php开源b2c商城 编辑:程序博客网 时间:2024/06/05 00:58
// 已存在的、具有特殊功能、但不符合我们既有的标准接口的类class Adaptee {public void specificRequest() {System.out.println("被适配类具有 特殊功能...");}}
// 目标接口,或称为标准接口interface Target {public void request();}// 具体目标类,只提供普通功能class ConcreteTarget implements Target {public void request() {System.out.println("普通类 具有 普通功能...");}}
// 适配器类,继承了被适配类,同时实现标准接口class Adapter extends Adaptee implements Target{public void request() {super.specificRequest();}}
// 测试类public class Client {public static void main(String[] args) {// 使用普通功能类Target concreteTarget = new ConcreteTarget();concreteTarget.request();// 使用特殊功能类,即适配类Target adapter = new Adapter();adapter.request();}}
普通类 具有 普通功能...被适配类具有 特殊功能...
// 适配器类,直接关联被适配类,同时实现标准接口class Adapter implements Target{// 直接关联被适配类private Adaptee adaptee;// 可以通过构造函数传入具体需要适配的被适配类对象public Adapter (Adaptee adaptee) {this.adaptee = adaptee;}public void request() {// 这里是使用委托的方式完成特殊功能this.adaptee.specificRequest();}}
// 测试类public class Client {public static void main(String[] args) {// 使用普通功能类Target concreteTarget = new ConcreteTarget();concreteTarget.request();// 使用特殊功能类,即适配类,// 需要先创建一个被适配类的对象作为参数Target adapter = new Adapter(new Adaptee());adapter.request();}}
0 0
- http://write.blog.csdn.net/postedit?ref=toolbar
- http://write.blog.csdn.net/postedit?ref=toolbar
- http://write.blog.csdn.net/postedit?ref=toolbar
- http://write.blog.csdn.net/postedit?ref=toolbar
- 面试中的 10 大排序算法总结-->http://write.blog.csdn.net/postedit?ref=toolbar
- 按钮的图片背景选择 转载请注明http://write.blog.csdn.net/postedit?ref=toolbar
- 发个梵蒂冈地方奋斗过覆盖write.blog.csdn.net/postedit?ref=toolbar
- http://write.blog.csdn.net/postedit
- poj2244 http://write.blog.csdn.net/postedit
- http://write.blog.csdn.net/postedit
- http://write.blog.csdn.net/postedit
- http://write.blog.csdn.net/postedit
- http://write.blog.csdn.net/postedit
- http://write.blog.csdn.net/postedit
- http://write.blog.csdn.net/postedit
- http://write.blog.csdn.net/postedit
- http://write.blog.csdn.net/postedit
- http://write.blog.csdn.net/postedit
- mysql 性能调优五种方式
- C++单链表
- Game
- cocos2dx 3.x 声音播放、音量调节
- 再讲素数筛选法
- http://write.blog.csdn.net/postedit?ref=toolbar
- 九度OJ:题目 1028 继续畅通工程
- 深度优先搜索
- 笔记-最大子序列
- 关于RxJAVA的一下理解
- HTTP、TCP/IP、UDP 详解
- cocos2d-x 菜鸟实习生学习篇(二)helloworld完全注释
- git基本操作
- 机器视觉(Machine Vision)学习博客导引