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