1 / 4
文档名称:

13.适配器模式:类适配器、对象适配器.doc

格式:doc   大小:17KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

13.适配器模式:类适配器、对象适配器.doc

上传人:wz_198614 2017/10/31 文件大小:17 KB

下载得到文件列表

13.适配器模式:类适配器、对象适配器.doc

文档介绍

文档介绍::类适配器、对象适配器
适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
适用场景:
1、已经存在的类的接口不符合我们的需求;
2、创建一个可以复用的类,使得该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作;
3、在不对每一个都进行子类化以匹配它们的接口的情况下,使用一些已经存在的子类。通用类图:
电源适配器,它是用于电流变换(整流)的设备。适配器的存在,就是为了将已存在的东西(接口)转换成适合我们的需要、能被我们所利用。在现实生活中,适配器更多的是作为一个中间层来实现这种转换作用。
在上面的通用类图中,Cient 类最终面对的是 Target 接口(或抽象类),它只能够使用符合这一目标标准的子类;而Adaptee 类则是被适配的对象(也称源角色),因为它包含specific (特殊的)操作、功能等,所以我们想要在自己的系统中使用它,将其转换成符合我们标准的类,使得 Client 类可以在透明的情况下任意选择使用 ConcreteTarget 类或是具有特殊功能的 Adatee 类。
代码实现如下:
// 已存在的、具有特殊功能、但不符合我们既有的标准接口的类
class Adaptee {
} publicvoid specificRequest() { ("被适配类具有特殊功能..."); }
// 目标接口,或称为标准接口
interface Target {
publicvoid request();
}
// 具体目标类,只提供普通功能
class ConcreteTarget implements Target {
} publicvoid request() { ("普通类具有普通功能..."); }
// 适配器类,继承了被适配类,同时实现标准接口
class Adapter extends Adaptee implements Target {
} publicvoid request() { ();//特殊调用}
// 测试类
lassClient {
} publicstaticvoid main(String[] args) { } // 使用普通功能类 Target concreteTarget = new ConcreteTarget(); (); // 使用特殊功能类,即适配类 Target adapter = new Adapter(); ();
测试结果:
普通类具有普通功能...
被适配类具有特殊功能...
上面这种实现的适配器称为类适配器,因为 Adapter 类既继承了 Adaptee (被适配类),也实现了 Target 接口(因为 Java 不支持多继承,所以这样来实现),在 Client 类中我们可以根据需要选择并创建任一种符合需求的子类,来实现具体功

最近更新

2024年二级建造师之二建机电工程实务考试题库.. 184页

项目监理工作总结范文22篇 3页

2024年二级建造师之二建矿业工程实务考试题库.. 198页

2024年二级造价工程师之土建建设工程计量与计.. 111页

童年趣事初中记叙文13篇 10页

2024年人教版四年级下册数学期中测试卷及完整.. 6页

端午节日记 15篇 6页

2024年公共卫生消毒监测及消毒员岗位技术知识.. 35页

笑猫日记的读后感15篇 13页

笔迹鉴定申请书(5篇) 3页

销售助理年终个人总结范文22篇 3页

2024年北京版六年级下册数学期末测试卷附参考.. 6页

2024年北师大版六年级下册数学期中测试卷及完.. 6页

2024年小升初数学期末模拟测试卷及完整答案【.. 6页

简单的维修合同书协议 4页

2024年消防设施操作员之消防设备中级技能考试.. 195页

2024年电工证《低压电工实操》考试题库及参考.. 28页

2024年苏教版六年级下册数学期末测试卷精品【.. 6页

2024年行政管理、人事管理等管理人员综合技能.. 34页

2024年西师大版六年级下册数学期末测试卷精选.. 7页

酒店月度工作总结1500字2篇 4页

交管12123学法减分复习题库含完整答案【名师系.. 90页

人教版五年级下册数学期中测试卷含答案(黄金.. 5页

人教版六年级下册数学期末测试卷含答案 7页

人教版六年级下册数学第一单元《负数》测试卷.. 5页

人教版四年级下册数学期中测试卷一套 7页

六年级下册数学 圆柱与圆锥 测试卷(突破训练.. 6页

六年级下册数学 圆柱与圆锥 测试题附答案(基.. 7页

2024年广东省深圳市中考英语试卷真题及答案详.. 19页

保育员个人简历表格 3页