介面卡模式:其實就是把乙個例項類轉換成另外的乙個介面的型別的,介面卡讓原本介面不相容的類可以合作無間。
介面卡是使用組合和繼承的方式,得到相容的功能.耦合性還是比較高的.
請看例子:
/**狼的介面
* @author zhangke
* */
inte***ce wolf
//狼的具體實現類
class whitewolf implements wolf
@override
public void run()
}
/**人的介面
* @author zhangke
* */
inte***ce person
//黃種人的具體
class yellowperson implements person
@override
public void run()
}
對已經存在的人和狼來說他們之間沒有任何的關係,那麼問題來了,狼人怎麼辦?他既是狼又是人,身兼兩者的特點,但是首先,他是個人.
所以我們要做的就是把這個人看起來像狼就行了.
我們需要實現狼的介面
我們來製造乙個狼人出來,看著像人,又有狼的特性
//乙個狼人的具體實現類
class wolfperson implements wolf
@override
public void say()
@override
public void run()
}測試方法:
public static void main(string args)
其實這個模式還是特別簡單的,也沒有什麼好說的了.再見 設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...
設計模式之 介面卡模式
1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...
設計模式之介面卡模式
介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...