适配器模式(工厂模式8)
2015-09-16 11:47
169 查看
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916105132586-526594571.jpg)
适配器模式:
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916105227508-1664938682.jpg)
被适配的类:
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916111155820-821852839.jpg)
适配器接口:
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916111304758-585355311.jpg)
适配器:使用类适配器方式,这种方法有弊端,因为java只有单继承,
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916111529867-1879190485.jpg)
调用者:父类引用指向子类对象(多态)
调用者调用了适配器,
super.request(); 实际调用了adaptee的request();
从而访问被适配的的对象。
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916112247726-1029982172.jpg)
第二种适配方式:对象适配器方式,使用了组合的方式跟被适配对象整合
在适配器类中整合入被适配的对象,通过getter(),
setter()方法来调用被适配的对象
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916113037289-342666917.jpg)
调用者:
创建适配器中要引入被适配的对象a
Target t = new Adapter2(a)
在适配器内部直接使用被适配对象的request()方法。
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916113740054-918815451.jpg)
类图:
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916114447773-1396784456.jpg)
适配器使用的场合:
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916114535945-485572445.jpg)
两种适配器方式
![](http://images2015.cnblogs.com/blog/761217/201509/761217-20150916114627273-1573001869.jpg)
相关文章推荐
- mongodb查询不重复数据的记录总数
- Jodd瑞士军刀
- flash builder4.7 找不到IOS设备解决办法
- 模拟按键
- 一条SQL查询MYSQL最大内存用量
- mysql查询按照in里面的数据排序
- java 读取mysql中数据 并取出
- android 系统优化包括哪些方面
- m802 codec无法录音补丁
- android 第二更(后台判断网络状态,反馈到页面)
- Hibernate named query examples
- 枚举用法实例
- 设计模式之4 抽象工厂
- Android中设置TextView的颜色setTextColor
- NMAP 扫描端口速度快
- 基于百度地图定位SDK进行简单的定位
- Sum-1844
- SQL题目备忘
- openerp编辑与非编辑下隐藏按钮的方法
- DNS(bind)服务