介面卡模式將某個類的介面轉換成客戶端期望的另乙個介面表示,目的是消除由於介面不匹配所造成的類的相容性問題。
主要分為三類:
1)類的介面卡模式
public class source
}public inte***ce targetable
public class adapter extends source implements targetable
}public class adaptertest
}輸出:
this is original method!
this is the targetable method!
這樣targetable介面的實現類就具有了source類的功能。
2)物件的介面卡模式
基本思路和類的介面卡模式相同,只是將adapter類作修改,這次不繼承source類,而是持有source類的例項,以達到解決相容性的問題。
private source source;
super();
this.source = source;
}@override
public void method2()
@override
public void method1()
}public class adaptertest
}3)介面的介面卡模式。
有時我們寫的乙個介面中有多個抽象方法,當我們寫該介面的實現類時,必須實現該介面的所有方法,這明顯有時比較浪費,因為並不是所有的方法都是我們需要的,有時只需要某一些,此處為了解決這個問題。
public inte***ce sourceable
public void method1(){}
public void method2(){}
} public void method1()
}
應用場景:
想使用乙個已存在的類,但是該類不符合介面需求;或者需要建立乙個可重用的類,適配沒有提供合適介面的其它類。
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...
設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...
設計模式 介面卡模式
01 02 author rollen holt 設計模式之 介面卡模式 03 04 05 inte ce window 11 12 abstract class windowadapter 16 public void close 19 public void activated 22 publi...