適配器模式
適用場景
- 已有接口A的對象,需要一個接口B的對象
- 接口A和接口B之間沒有層次關係
實現方式
public interface A {
void callA();
}
public interface B {
void callB();
}
public class Adapter extends AImpl implements B{
@Override
public void callB() {
super.callA();
}
}
public class Adapter implements B {
private A a = new AImpl();
@Override
public void callB() {
a.callA();
}
}
實現例子
- java io: inputstream轉reader
public class AdapterDemo {
public static void main(String[] args) {
InputStream in = new FileInputStream(...);
Reader reader = new InputStreamReader(in, "UTF-8");
}
}