设计模式--适配器模式
程序员文章站
2024-01-20 18:49:10
...
定义
适配器模式: 将一个类的拮抗转换成用户期望的另一个接口,使原本不兼容的类也可以一起工作
- 提高类的透明性,复用性,在很多情况下符合开闭原则
- 亡羊补牢,并非代码初期使用的设计模式,而是在后期类的方法和需求不兼容时进行处理
- 降低了可读性,过多使用会使系统代码变的凌乱
示例
很多耳机是圆孔线,而有些手机只支持Type-c的接口.因此,我们在Type-C类型的手机上使用耳机时需要转接口来进行转换, 这个转接口就是一种适配器
创建圆孔接口类
public class CircularHole {
public String connectByCircularHole(){
String attribute = "圆孔接口";
System.out.println("使用" + attribute + "连接手机");
return attribute;
}
}
创建一个Type-C接口
public interface TypeC {
public String connectByTypeC();
}
实现适配器类
public class HeadsetAdapter implements TypeC{
private CircularHole circularHole;
public HeadsetAdapter(CircularHole circularHole) {
this.circularHole = circularHole;
}
public String connectByTypeC() {
String adapterConnect = circularHole.connectByCircularHole();
// 进行转换
String connect = "Type-C";
System.out.println("输入: " + adapterConnect + "; 输出: " + connect);
return adapterConnect;
}
}
测试代码
public class Test {
public static void main(String[] args) {
// 传入的圆孔接口,但实际输出的是Type-C,实现了手机与圆孔耳机线的兼容
HeadsetAdapter headsetAdapter = new HeadsetAdapter(new CircularHole());
headsetAdapter.connectByTypeC();
}
}
执行结果