適配器模式

適配器模式

適用場景

  • 已有接口A的對象,需要一個接口B的對象
  • 接口A和接口B之間沒有層次關係

實現方式

  • Adapter繼承或依賴接口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");
    }
}

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章