文章目录
适配器模式简介
适配器模式(adapter pattern)是将一个类的接口转换成客户希望的另外一个接口,使得原来由于接口不兼容而不能一起工作的,而能一起工作。
结构
- 1.目标接口(Target):当前系统所期待的接口,它可以是抽象类或者接口。
- 2.适配者类(Adaptee):它是被访问和适配的现存组件库中的组件接口。
- 3.适配器类(Adapter):转换器,通过继承或者引用适配者的对象,把适配折接口转换城目标接口,让客户目标接口的格式访问适配者。
适配器分类
适配器根据适配对象不同,分为:类适配器、接口适配器、对象适配器。
类适配器(class adapter)
类适配器中的目标对象(Target)是一个接口,被适配者类(Adaptee)需要实现或者继承目标对象接口和被适配者的类。
具体实现
例子:将220V的电压转到5V。
UML图
代码实现
- 5V电压接口(目标接口)
package com.xxliao.pattern.structure.adapter.class_adapter.demo;
/**
* @author xxliao
* @description: 5V电压接口,目标接口 - target
* @date 2024/5/24 23:56
*/
public interface IVoltage5V {
public int output5V();
}
- 220V类(适配者类)
package com.xxliao.pattern.structure.adapter.class_adapter.demo;
/**
* @author xxliao
* @description: 现存适配者类
* @date 2024/5/25 0:01
*/
public class Voltage220V {
/**
* @description 输出220V
* @author xxliao
* @date 2024/5/25 0:04
*/
public int output220V() {
System.out.println("电压="+220+"V");
return 220;
}
}
- 适配器类
package com.xxliao.pattern.structure.adapter.class_adapter.demo;
/**
* @author xxliao
* @description: 适配器类
*
* @date 2024/5/25 0:04
*/
public class Adapter extends Voltage220V implements IVoltage5V{
@Override
public int output5V() {
int src = output220V();
int dest