使用情况:A Designer 开发出一个类A B Designer 开发出一个接口IB,现在想B接口调用A类的方法,可是A、B Designer都不愿意修改自己的代码。 现在应该怎么办?
这是我们的适配器就派上用场了, 看一下代码
public class A{
public void say(){
System.out.println("hello");
}
}
public interface B{
public void say();
public void doSthing();
}
public Adapter implements IB{
pubilc A a = null;
public Adapter(A a){
this.a = a;
}
public void say(){
a.say();
}
public void doSthing(){
System.out.println("do sthing");
}
}
public class Tester{
public static void main(String args[]){
A a = new A();
IB ib = new Adapter(a);
ib.say();
}
}
这时候我们的Adapter类就作为适配器(类似变压器一样)在中间进行了调节。
应用范围:
IO流中的InputStreamReader 就是采取适配器模式
JDBC也运用了适配器模式