本文实例讲述了Java经典设计模式之适配器模式。分享给大家供大家参考,具体如下:
适配器模式是把一个类的接口适配成用户所期待的,使得原本由于接口不兼容而不能一起工作的一些类可以在一起工作从而实现用户所期望的功能。
适配器模式的优势:
1. 通过适配器,客户端可以调用统一接口,操作简单直接,并且代码逻辑紧凑,使用起来方便。
2. 代码复用,适配器模式就是解决因为环境要求不相同 的问题,通过适配实现代码复用。
3. 将目标类和适配器类解耦,通过新建一个适配器类来重用现在的类,不用再去重复修改原有代码,实现开闭原则。
共有两类适配器模式
1.对象适配器模式: 在这种适配器模式中,适配器容纳一个它包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。
2. 类适配器模式: 这种适配器模式下,适配器继承自已实现的类(一般多重继承)。
示例代码:
/** * @description: * 原有的接口功能,比如是给电动车充电功能 */ public interface FirstBaseIf { void charging();//充电 } /** * 要实现的操作功能 * @description: */ public class NewFunction { public void powerWithTwo(){ System.out.println(“新功能:给电动汽车也可以充电啦”); } } /** *新建适配器类,来实现对原有接口FirstBaseIf的操作使用 * @description: */ public class FunctionAdapter implements FirstBaseIf { private NewFunction plug; public FunctionAdapter(NewFunction plug){ this.plug=plug; } @Override public void charging() {//重写原有接口中的方法,从而实现接口转化 System.out.println(“通过适配器转化”); plug.powerWithTwo(); } } //——–测试代码——————- public class Test { private FirstBaseIf plug; public Test(FirstBaseIf plug) { this.plug = plug; } public static void main(String[] args) { NewFunction two = new NewFunction(); FirstBaseIf three = new FunctionAdapter(two);//这里就是通过适配器实现转换 Test note = new Test(three); note.charge(); } public void charge() { plug.charging();//使用原有接口中的功能 } }
运行结果:
适用场景:
在Java程序中,如果一个抽象类或者接口的话,就必须要重写所有的抽象方法。
那么,如果一个接口中定义的抽象方法过多,而子类中很多抽象方法又不需要用到,就应该设计一个适配器。通过Java语言进行的Android开发中,就经常会用到适配器模式。
更多java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
本文向大家介绍JAVA设计模式之组合模式原理与用法详解,包括了JAVA设计模式之组合模式原理与用法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JAVA设计模式之组合模式。分享给大家供大家参考,具体如下: 组合(整体与部分关系)模式:将不同但是相关的对象组合成树形结构以实现“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 * 模式角色组成: 1.Compone
本文向大家介绍java设计模式之适配器模式,包括了java设计模式之适配器模式的使用技巧和注意事项,需要的朋友参考一下 感谢《Android源码设计模式解析与实战》 何红辉 关爱民 著 适配器模式在我们的开发中使用率极高,从代码中随处可见的Adapter就可以判断出来,从最早的ListView、GridView、到现在最新的RecyclerView都需要使用Adapter,并且在开发中我们遇到的
本文向大家介绍Java设计模式之观察者模式原理与用法详解,包括了Java设计模式之观察者模式原理与用法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java设计模式之观察者模式原理与用法。分享给大家供大家参考,具体如下: 什么是观察者模式 可以这么理解: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。
本文向大家介绍JAVA设计模式之访问者模式原理与用法详解,包括了JAVA设计模式之访问者模式原理与用法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JAVA设计模式之访问者模式。分享给大家供大家参考,具体如下: 访问者模式: 一个作用于某对象结构中各元素的操作,使你可以在不改变各元素类数据结构的前提下增加作用于这些元素的新操作。 结构对象是访问者模式必备条件,且这个结构对象必须存在遍
介绍 适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一些工作。速成包装器(wrapper)。 正文 我们来举一个例子,鸭子(Dock)有飞(fly)和嘎嘎叫(quack)的行为,而火鸡虽然也有飞(fly)的行为,但是其叫声是咯咯的(gobble)。如果你非要火鸡也要实现
本文向大家介绍Java设计模式之适配器模式简介,包括了Java设计模式之适配器模式简介的使用技巧和注意事项,需要的朋友参考一下 本文举例说明两种适配器模式,即类适配模式和对象适配模式,详情如下: 1.类适配模式: 举个例子来说明:在地球时代,所有坐骑都是只能跑,不能飞的,而现在很多坐骑在地球都可以飞了。假设,地球时代的坐骑只能跑,而现在的坐骑不仅能飞还能跑,我们可以用类适配模式来实现。 这里需要注