适配器模式(Adapter):将一个类的接口转换成客户需要的接口,Adapter模式使得原本不兼容的接口而不能一起工作的那些类可以一起工作,也叫翻译者模式;
package caosc.javaModel.Adapter;
//可以期待的接口,目标可以上具体的或者抽象的类也可是接口
public class Target {
public void request(){
System.out.println("普通请求");
}
}
package caosc.javaModel.Adapter;
//需要适配的类
public class Adaptee {
public void specialRequest(){
System.out.println("特殊请求");
}
}
package caosc.javaModel.Adapter;
public class Adapter extends Target{
private Adaptee at = new Adaptee();
@Override
public void request(){
at.specialRequest();//表面上调用requeset实际上是specialRequest
}
}
package caosc.javaModel.Adapter;
public class AdapterTest {
public static void main(String[] args) {
Target tg = new Adapter();
tg.request();
}
}
何时使用适配器模式:
1、想使用一个类,但它的接口,也就是它的方法和你的要求不同时;
2、双方(Target、Adaptee)都不太愿意修改的时候可以使用;
3、2个类所做的事情相同,但是都有各自不同的接口时时候使用;