設計模式-接口型模式-適配器模式

適配器模式

把一個類的接口轉換成客戶端所期待的另外一種接口,從而使原接口不匹配而沒法在一塊兒工做的兩個類能在一塊兒工做this

功能相似可是接口不一樣這時就能夠使用適配器,通常狀況下在前期第一時間考慮經過重構統一接口。好比在使用第三方開發組件的時候,本身的系統接口與組件接口不一樣,不用爲了迎合去改本身的接口能夠使用適配器模式。code

Target類目標接口客戶端可識別,Adaptee須要適配的類,Adapter適配器類orm

//類適配器
class Adaptee{
  public void sepcialMethod(){
    System.out.println("yyx!");
  }
}
interface Target(){
  public void normalMethod();
}
class actualTarget implements Target(){
  public void normalMethod(){
    System.out.println("yyx");
  }
}
class Adapter extends Adaptee implements Target(){
  public void normalMethod(){
    super.sepcialMethod();
  }
}
//對象適配器
class Adapter implements Target(){
  private Adaptee adaptee;
  public Adapter(Adaptee adaptee){
    this.adaptee = adaptee;
  }
  poublic void normalMethod(){
    this.adaptee.sepecialMethod();
  }
}

JAVAIO中有許多用到了對象適配器對象

InputSreamReader是適配器類 StreamDecoder(傳入InputStream,這個類將InputStream從字節流變成了字符流)是適配者 Reader是目標類 將InputStream和Reader適配。接口

StringReader是適配器類 String是適配者 Reader是目標類 將String和Reader適配。ci

相關文章
相關標籤/搜索