适配器模式,是连接两个接口的桥梁。
java适配器模式有两种,类适配器和对象适配器。
类适配器是适配器继承被适配器的类,但是java编程一般选用组合方式,少用继承。
所以对象适配器更好:
/*被适配的类*/
public class Adaptee {
public void request(){
System.out.println("完成客户需要功能");
}
}
新建一个适配器接口:
public interface Target {
public void handleReq();//处理被适配对象的请求的方法
}
一个适配器实体类(里面采用组合方式,绑定了被适配的对象):
public class Adapter implements Target{
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void handleReq() {
adaptee.request();
}
}
客户端测试:
/*客户端类*/
public class Client {//客户端只要有一个适配器接口,就可以实现很多类了
public void test(Target t){
t.handleReq();
}
public static void main(String[] args) {
Client c=new Client();
Adaptee adaptee=new Adaptee();
Target t=new Adapter(adaptee);//Adapter是适配Adaptee类的实体适配器
c.test(t);
}
}