返回首页
专题
网络编程
ASPjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 .NETjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 PHPjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 JSPjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 C#jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Delphijrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 VBjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 C/C++jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Android开发 IOS开发 Windows Phone开发 Pythonjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Rubyjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 移动开发 其他编程jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播
网页制作
HTMLjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 CSSjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Dreamweaverjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 FrontPagesjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 web前端
数据库
SqlServer MySql Oracle Access DB2 SQLite 其他数据库
图形设计
photoshopjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Fireworksjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 CorelDrawjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Illustratorjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 AutoCadjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 FLASHjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播
操作系统
Windows xpjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Windows 7jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Windows 8jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Windows 2003jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Windows Server 2008jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Linuxjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Windows 10
网站运营
建站经验 SEO优化 站长心得 网赚技巧 网站推广 站长故事
手机学院
手机速递 安卓jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 iphonejrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 手机评测 手机技巧 手机知识 手机应用 手机游戏 手机导购
网店宝典
开店指导 开店经验 网店装修 网店推广 网店seo 网购技巧
软件jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播
办公软件 系统工具 媒体工具 压缩工具 图文处理 文件管理
范文之家
自我介绍 自我鉴定 写作模板 合同范本 工作总结 贺词祝福语 演讲致辞 思想汇报 入党申请书 实习报告 心得体会 工作计划 简历模板 工作报告 导游词 评语寄语 口号大全 策划书范文
信息工程
软件工程 企业开发 系统运维 软件测试
移民之家
移民动态 移民政策 移民百科 移民生活 技术移民 投资移民
知识大全
母婴 数码 摄影 装修 美文 常识 时尚 婚嫁 美食 养生 旅游 兴趣 职场 教育 文学 健康
问答大全
电脑网络 手机数码 QQ专区 生活 游戏 体育运动 娱乐明星 休闲爱好 文化艺术 社会民生 教育科学 健康医疗 商业理财 情感家庭 地区问题 其他
编程问答
IOS Android .NET Java C/C++ Delphi VC/MFC 其他语言 PHP MSSQL MYSQL Oracle 其他数据库 Web开发 Windows Linux 硬件/嵌入开发 网络通信 移动开发 云计算 企业IT 游戏开发
笑话大全
幽默笑话 爱情笑话 成人笑话 校园笑话 爆笑笑话 综合笑话 古代笑话 现代笑话 国外笑话

Java设计模式篇(五)--适配器模式详解(1/2)

来源:互联网  时间:2018/11/1 13:12:35

我们来说下适配器模式。

一、什么是适配器模式

大家在买笔记本电脑时,都会有一个电源适配器,不知道你们注意过没,它叫适配器。为什么不直接一个电源线搞定呢?这就是问题。

我们知道,我们国家使用的是220V的电压,而其他国家中有使用110V电压的,那如果电脑的电源线不用适配器会出现什么情况?我们的电脑因为电压低开不了机。这样,适配器的作用就显示出来了。大家仔细看下电脑的电源适配器,它上面有一个输入电压范围(我的是100V-240V),而输出电压是固定的(我的是19.5V)。这样,就能让我们不管在什么地方,都能正常使用电脑。

所以,什么是适配器模式呢?

就是将一个类的接口转换为客户希望的另外一个接口。适配器模式将原本由于接口不兼容而不能一起工作的那些类可以一起工作。

这也就说明了一点,适配器模式只是一个中间转换器。它主要应用于希望复用一些现存的类,但是接口又与复用环境不一致的情况。

二、适配器模式的结构

我们看下适配器模式的结构图。

 Java设计模式篇(五)--适配器模式详解

在适配器模式中,我们通过增加一个新的适配器类(Adaper类)来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。

根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种,在对象适配器模式中,适配器与适配者之间是关联关系;在类适配器模式中,适配器与适配者之间是继承(或实现)关系。

模式所涉及的角色有:

  ●  目标(Target)角色:定义客户所需接口,可以是一个抽象类或接口,也可以是具体类。

  ●  适配器(Adaper)角色:适配器类是本模式的核心,在对象适配器中,它通过继承Target并关联一个Adaptee对象使二者产生联系。

  ●  源(Adapee)角色:适配者即被适配的角色,它定义了一个已经存在的接口,这个接口需要适配,适配者类一般是一个具体类,包含了客户希望使用的业务方法,在某些情况下可能没有适配者类的源代码。

三、适配器模式使用举例

我们现在的笔记本电脑都是三相电插头,假如我们去了一个地方,只有两相电插座,怎么办?只能用转换头去适配转换了。

原有二相电插座类:

package com.zhaodf.pattern.AdapterPattern;

public class TwoPhaseElectricalSocketAperture {
    public void twoPhaseElectricalSocketCharge(){
        System.out.println("使用两相电充电");
    }
}

 我们只有三相电插头(我们的目标接口,对外提供的):

package com.zhaodf.pattern.AdapterPattern;

//这是我们的目标接口,因为用户只有三相电插头,我们只能提供三相电充电接口
public interface ThreePhaseElectricalJack {
    void charge();
}

 适配器转换:


上一篇Java设计模式篇(三)--简单工厂模式详解
下一篇:没有了
明星图片
相关文章
《 Java设计模式篇(五)--适配器模式详解》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)