适配器就是把已有的接口转变成需要的接口,比如笔记本利用电源适配器把220V电源转换成5V电源,下面是一种典型例子。
220V电源可以输出220v电:
public class Battery220 {
public void output220(){
System.out.println("output 220v...");
}
}
借助适配器转换成需要的接口并实现
Adapter中包含了battery220成员,并实现output5()方法,这样一个适配器就同时具有输出220v和5v电源功能。
public class Adapter implements IBattery5 {
private Battery220 battery220;
public Adapter(Battery220 ba){
battery220 = ba;
}
@Override
public void output5() {
System.out.println("output 5v...");
}
public void output220(){
battery220.output220();
}
}
使用适配器:
public class MyClass {
public static void main(String[] args){
Battery220 battery220 = new Battery220();
Adapter adapter = new Adapter(battery220);
adapter.output5();
adapter.output220();
}
}
结果:
output 5v...
output 220v...
上面是适配器模式其中一种,对象适配器;还有一种是类适配器,区别在于adapter是继承而不是包含battery220:
Adapter也同时具有输出5V和220V电源能力。