適配器向上提供匹配於使用者的接口,向下委託類(庫)的接口完成實質工作,中間是完成這兩種接口的轉換。
代碼舉例如下:
//被適配的類,別人的類
class Xxx{
public void method(){
System.out.println(getClass().getSimpleName()+" processed");
}
}
//適配器,完成接口轉換
class XxxAdapter implements IProcessor{
private Xxx x;
public XxxAdapter(Xxx x){
this.x=x;
}
@Override
public void process() {
x.method();
}
}
//客戶代碼只認識這個接口
interface IProcessor{
void process();
}
public class Test {
static void clientUse(IProcessor p){
p.process();
}
public static void main(String[] args) {
clientUse(new XxxAdapter(new Xxx()));
}
}