适配器模式简介
适配器模式是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。
实例模拟
家庭电源的电压是220V,但是我们的手机需要5V的充电电流,则此时就需要充电器来进行电压转换,这个充电器就是我们的适配器
创建一个家庭电源
1 2 3 4 5 6 7 8
|
public interface DS220 { public void creatDS220(); }
|
创建一个手机电源
1 2 3 4 5 6 7 8 9 10
|
public class DS5 { public void creatDS220(){ System.out.println("产生5v电压"); } }
|
构造一个适配器
1 2 3 4 5 6 7 8 9 10 11 12
|
public class DSAdapter extends DS5 implements DS220{
@Override public void creatDS220() { super.creatDS220(); } }
|
调用
1 2 3 4 5 6
| public class Test { public static void main(String[] args) { DS220 d = new DSAdapter(); d.creatDS220(); } }
|
结果如下

总结
优点
- 可以让任何两个没有关联的类一起运行。
- 提高了类的复用。
- 增加了类的透明度。
- 灵活性好。
缺点
- 过多地使用适配器,会让系统非常零乱,不易整体进行把握。比如,明明看到调用的是A接口,其实内部被适配成了B接口的实现,一个系统如果太多出现这种情况,无异于一场灾难。因此如果不是很有必要,可以不使用适配器,而是直接对系统进行重构。
- 由于 JAVA 至多继承一个类,所以至多只能适配一个适配者类,而且目标类必须是抽象类。