适配器模式:

适配器模式 : 将一个类的接口转化成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起的那些类可以一起工作

通俗点来讲:比如有个二插插座,显然只有二插的充电器可以使用,但是三插充电器也想要使用这个插座怎么办呢?,那就重新做一个即可以满足二插的也满足三插的插座,这个新的插座就是java中的适配器

代码演示

定义一个二插接口,三插接口

public interface PowerA {void work();
}
public interface PowerB {void work();
}

对应的两个实现类(二插充电器,三插充电器)

public class PowerAImpl implements PowerA {@Overridepublic void work() {System.out.println("二插充电器开始工作");}
}
class PowerBImpl implements PowerB {@Overridepublic void work() {System.out.println("三插充电器开始工作");}
}

写到这里,我们进行测试:

public class Test1 {public static void main(String[] args) {getWork(new PowerAImpl);}public static void getWork(PowerA power) {System.out.println("正在连接中...");power.work();System.out.println("工作结束");}
}

问题:

我们发现,写的这个方法只能传入二插的实现类,三插由于接口不兼容无法传递。

解决:

我们可以写一个适配器类,让它们都可以通过。

public class PowerAdapter implements PowerA {private PowerB powerB;public PowerAdapter(PowerB powerB) {this.powerB = powerB;}@Overridepublic void work() {powerB.work();}
}

大功告成,最终测试

public class Test1 {public static void main(String[] args) {PowerA powerA = new PowerAImpl();getWork(powerA);PowerB powerB = new PowerBImpl();PowerA adapter = new PowerAdapter(powerB);getWork(adapter);}public static void getWork(PowerA power) {System.out.println("正在连接中...");power.work();System.out.println("工作结束");}
}

最通俗易懂的适配器模式相关推荐

  1. 设计模式之适配器模式--java描述

    转载:http://www.importnew.com/23477.html   (推荐此链接,讲的比较通俗易懂),也可以参考博客:http://www.cnblogs.com/maowang1991 ...

  2. 视频教程-实用通俗易懂的设计模式-软件设计

    实用通俗易懂的设计模式 15年一线项目从业经验,长期从事大型商业项目管理. 长期主导研发金融,水利行业等,大型商业项目.深入研究项目全生命周期,参与公司产品线定位,架构设计,管理协调实施项目投标方案编 ...

  3. 图解Java设计模式学习笔记——结构型模式(适配器模式、桥接模式、装饰者模式、组合模式、外观模式、享元模式、代理模式)

    一.适配器模式(类适配器.对象适配器.接口适配器) 1.现实生活中的例子 泰国插座用的是两孔的(欧标),可以买个多功能转换插头(适配器),这样就可以使用了国内的电器了. 2.基本介绍 适配器模式(Ad ...

  4. Java真的不难(三十五)适配器模式

    适配器模式 哈喽大家好,四月份啦!!!很高兴在这里与大家再次相遇,我相信大家都是热爱技术的伙计们,也正是因为有你们的支持和陪伴,小应学长在2022年第三季新星计划内获得Java后端Top3,这也是导师 ...

  5. 视频教程-全新150集通俗易懂的Java设计模式-Java

    全新150集通俗易懂的Java设计模式 张长志技术全才.擅长领域:区块链.大数据.Java等.10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业.拥有丰 ...

  6. Java注解---通俗易懂

    本文转载于Java注解-最通俗易懂的注解 Annotation 中文译过来就是注解.标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有点让新手不容易理解. 我个人认为,比较糟糕的技术文 ...

  7. 简书php硬件交互,php设计模式——适配器模式

    适配器模式 适配器模式(Adapter)模式:将一个类的接口,转换成客户期望的另一个类的接口.适配器让原本接口不兼容的类可以合作无间.列如:将数据库接口封装成一样的接口, 这样就可以适用于不同场景 案 ...

  8. 设计模式之适配器模式(Adapter)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  9. 给女友讲讲设计模式——适配器模式(JAVA实例)5

    前言 有这样一个人,看到别人一个个开餐馆赚了好多钱,于是自己也很想在餐饮业这方面大展拳脚,他从别人那里学到了他们的理念,还学习到了他们真正开店的经验.不但如此,他还引进了除了吃饭意外其他的服务,例如说 ...

  10. java设计模式-适配器模式

    模式导读:    每个人都有自己不同的需要,每个人都有自己能够接受的不同方式,就像是为满足现在快速度发展的社会,几乎人人离不开手机的时代,我们也许会碰到在外出行手机电量不足的情况,这个时候如果你在车站 ...

最新文章

  1. .NET中使用OracleHelper
  2. 聊一聊 Python 安装中的 --enable-shared
  3. FPGA实现多个数的加法运算
  4. (JAVA学习笔记) 关于稀疏数组
  5. myeclipse2014下卸载,安装maven插件。
  6. Leetcode69场双周赛-第一题5960:标题首字母大写
  7. Oracle用户相关命令
  8. 2019 秦皇岛 I - Invoker Gym - 102361I dp
  9. 关于SQL Server 数据 出现(可疑)不可用状态的解决办法
  10. bigdecimal判断等于0_shell 脚本中if判断的条件总结
  11. ghost还原固态硬盘_最完整用GHOST安装UEFI(GPT)引导的系统请关注收藏
  12. aiohttp 高并发web服务_UE4 unity3d连接高并发http服务器
  13. 联想电脑尺寸在哪里看_笔记本型号在哪里看 怎么看笔记本屏幕大小
  14. transforms.Compose和transforms.ToTensor()
  15. 微生物组学测序十大错误认知
  16. 低功耗蓝牙BLE-Advertising State/Scanning State
  17. (转)洗剑炉——一个刚离职运营商员工的心声——别了,你的电信!
  18. 关于css盒子模型和BFC的理解
  19. Windows端口代理转发
  20. 开发需要的软件-Java

热门文章

  1. c++中sort()及qsort()的使用方法总结
  2. 数据结构 KMP 算法实现
  3. JS Bin 在线编辑代码,所见所得
  4. ms sqlserver对象、所属用户、所属架构、登陆用户、同义词
  5. 【Mybatis】Mybatis三大组件之StatementHandler
  6. 携程Apollo 启动失败遇到的坑
  7. ZooKeeper 数据模型 Znode 结构特性详解
  8. zookeeper分布式协调服务的使用一
  9. jQuery - 添加元素
  10. 获取Spring容器中Bean实例的工具类(Java泛型方法实现)