2022-18-Java 设计模式-适配器模式

本文详细介绍了适配器模式的工作原理,包括类适配器、对象适配器和接口适配的区别,以及它们在Java中的应用实例。重点讨论了单继承限制、灵活性提升和遵循合成复用原则。通过手机充电案例深入浅出地演示了适配过程。
摘要由CSDN通过智能技术生成
  1. 基本介绍
    适配器模式,将某个类的接口转换成客户端期望的另一个接口表示。主要目的是让原本接口不兼容的两个类可以协同工作。适配器的别名为包装器。
    属于结构型模式。
    主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。
  2. 工作原理
    将一种接口转换成另一种接口,让原本接口不兼容的类可以兼容。
    从用户角度是无法看到被适配者的,因此是解耦的。
    用户直接调用适配器转化出来的接口,适配器再调用被适配者的接口。
  3. 类适配器模式
    3.1 基本介绍
    适配器类Adapter通过继承被适配类Source,并实现目标接口Target,从而完成从Source到Target的转变。
    3.2 手机充电例子
    充电器相当于适配器Adapter,被适配者相当于220V电压 Source,目标接口相当于5V电压 Target。
    在这里插入图片描述
    3.3 代码实现
    在这里插入图片描述
    3.4 注意事项
    Java是单继承机制,所有类适配器继承Source类是一个缺点,因为这就要求Target必须是接口,有一定局限性。【没有遵循合成复用原则】
    由于继承了Source类,所有可以根据需要重写父类方法,使得Adapter灵活性增强。【但是有可能会违背里式替换原则】
  4. 对象适配器模式
    4.1 基本介绍
    在类适配器模式基础上,把Adapter对Source的继承关系,改为持有Source的实例。即:持有Source实例、实现Target接口,完成从Source到Target的适配。
    也就是根据合成复用原则,把继承关系,改为关联关系。
    对象适配器模式是适配器模式常用的一种。
    4.2 代码实现
    在这里插入图片描述
    4.3 小结
    遵循合成复用原则,不再要求必须继承Source类,也不再要求Target必须是接口。
    灵活性增强。
  5. 接口适配器模式
    5.1 基本介绍
    当不需要全部实现接口中的方法时,可以先设计一个抽象类去实现该接口,并为每一个方法提供一个空实现,则抽象类的子类就能有选择地覆盖部分方法。
    适用于不需要实现所有接口的情况。
    5.2 代码描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值