作用:使原本由于接口不兼容而不能一起工作的类可以一起工作。
1 客户端原来的接口
-
package cn.javass.dp.adapter.example1;
-
/**
-
* 已经存在的接口,这个接口需要被适配
-
*/
-
public class Adaptee {
-
/**
-
* 示意方法,原本已经存在,已经实现的方法
-
*/
-
public void specificRequest() {
-
//具体的功能处理
-
}
-
}
2 客户端要使用的新接口(目标接口)
-
package cn.javass.dp.adapter.example1;
-
/**
-
* 定义客户端使用的接口,与特定领域相关
-
*/
-
public interface Target {
-
/**
-
* 示意方法,客户端请求处理的方法
-
*/
-
public void request();
-
}
3 适配器(将原来的接口适配新的接口)
-
package cn.javass.dp.adapter.example1;
-
/**
-
* 适配器
-
*/
-
public class Adapter implements Target {
-
/**
-
* 持有需要被适配的接口对象
-
*/
-
private Adaptee adaptee;
-
/**
-
* 构造方法,传入需要被适配的对象
-
* @param adaptee 需要被适配的对象
-
*/
-
public Adapter(Adaptee adaptee) {
-
this.adaptee = adaptee;
-
}
-
-
public void request() {
-
//可能转调已经实现了的方法,进行适配
-
adaptee.specificRequest();
-
}
-
}
4 客户端使用适配器例子
-
package cn.javass.dp.adapter.example1;
-
/**
-
* 使用适配器的客户端
-
*/
-
public class Client {
-
public static void main(String[] args) {
-
//创建需被适配的对象
-
Adaptee adaptee = new Adaptee();
-
//创建客户端需要调用的接口对象
-
Target target = new Adapter(adaptee);
-
//请求处理
-
target.request();
-
-
}
-
}
-
阅读(578) | 评论(0) | 转发(0) |