1. 基本思路和类的适配器模式相同,只是将Adapter类作为修改,不是继承src,而是持有src类的实例,以解决兼容性的问题。既:持有 src 类,实现 dst 类接口,完成src ->dst 的适配。
  2. 根本“合成复用原则”,在系统中尽量使用关系来代替继承关系。
  3. 对象适配器模式是适配器模式常用的一种。

    对象适配器模式应用实例

  4. 应用实例说明

  5. 以生活中充电器的例子来讲解适配器,充电器本身相当于Adapter,220V交流电源想到你关于 src (既被适配者)我们的目 dst (即 目标)是5V 直电流,使用对象适配器模式完成。
  6. 思路分析(类图)

    1. public class VoltageAdapter2 implements Voltage5 {
    2. private Voltage220 voltage220; //持有Voltage220对象,不是继承了
    3. }
  7. 代码实现

    对象适配器模式注意事项和细节

  8. 对象适配器和类适配器其实算是同一种思想,只不过实现方式不同。

  9. 根据合成复用原则,使用组合代替继承,所以它解决了类适配器必须继承src的局限性问题,也不爱要求dst必须是接口。
  10. 使用成本更低,更灵活。