java适配器模式

上传人:s****a 文档编号:119688950 上传时间:2022-07-15 格式:DOCX 页数:4 大小:37.38KB
返回 下载 相关 举报
java适配器模式_第1页
第1页 / 共4页
java适配器模式_第2页
第2页 / 共4页
java适配器模式_第3页
第3页 / 共4页
点击查看更多>>
资源描述
Java 适配器模式 问题引出:大家生活中可能碰到的一个问题就是你新买的手机自带的耳机是 2.5 接口的,不幸的是有一天你的耳机坏了,你去市面上根本就找不到 2.5 的耳机 了,基本上是 3.5接口了,没办法你只好买了个 3.5 接口的耳机,老板告诉你 “我给你一个适配器”这不问题就解决了。问题分析:3.5 的接口的耳机在你手机上本来是没法使用的,因为它没有按照2.5 接口的设计啊,而现在我又想使用这幅耳机,于是乎有了“适配器(Adapter)这个一个东西出来了。Adapter 模式的定义:把一个类的接口变换成客户端所期待的另外一种接口, 使得原本由于接口不兼容而不能再一起工作的那些类可以一起工作。适配器模式分类:1.类的适配器模式(采用继承实现) 2.对象适配器(采用对 象组合方式实现)类的适配器类图:Adapter4-provide2.5Q模式的构成:以问题中例子为模型目标抽象角色(Target):定义客户所期待要使用的接口,我们把手机当做客户端,客户端所需要使用的耳机的接口是2.5的,在这里就可以抽象出来一个2.5 接口的设备(并不一定是耳机)。源角色(Adaptee):需要被适配的接口,在这里指的是我们从市场上买回来的那 个 3.5 接口的耳机。适配器角色(Adapter):用来把源接口转换成符合要求的目标接口的设备,在 这里指的是老板送给我们的那个“转换器”。客户端(Client):这里指的就是那个给我们带来麻烦的手机喽。示例代码:Java代码_ 珂1. /Target2.2. package pattern.adapter;4.3. public interface Target 6.4. public void provide2_5();8.9. 10.11. /Adaptee12.12. package pattern.adapter;14.13. public class Adaptee 16.14. public void provide3_5()18.15. System.out.printin(“我是一个 3.5 的接口哦“);20.21. 22.23. 24.24. /Adapter26.25. package pattern.adapter;28.26. pubiic ciass Adapter extends Adaptee impiements Target 30.27. Override32.33. public void provide2_5() 34.35. this.provide3_5();36.37. 38.39.40.41./Client42.43.package pattern.adapter;44.45.public class CellPhoneClient 46.47. public static void main(String args) 48.49. Target target = new Adapter();50.51./该手机只支持 2.5接口的耳机52.53.target.provide2_5();54.55. 56.57.输出结果:我是一个 3.5 的接口哦从输出结果可以看出只支持 2.5接口的手机成功的使用 3.5 的耳机了。这就是 适配器模式的作用。对象的适配器模式:对象的适配器模式的不同之处在于 Adapter 角色封装了 Adaptee 角色,而不 像类的适配器模式所采取的继承方式。其原理基本上是相似的。应用适配器模式的场景:1.系统需要使用现有的类,而现有类不符合当前系统的要求。如问题的提出。2. 系统要建立一个可以重复使用的类,用来与彼此没有太大关联的类或者在将 来要引用的类一起工作。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!