設計模式之介面卡模式

2021-08-06 03:46:53 字數 1408 閱讀 3736

在介面卡模式中可以定義乙個包裝類,包裝不相容介面的物件,這個包裝類指的就是介面卡(adapter),它所包裝的物件就是適配者(adaptee),即被適配的類。

介面卡提供客戶類需要的介面,介面卡的實現就是把客戶類的請求轉化為對適配者的相應介面的呼叫。也就是說:當客戶類呼叫介面卡的方法時,在介面卡類的內部將呼叫適配者類的方法,而這個過程對客戶類是透明的,客戶類並不直接訪問適配者類。因此,介面卡可以使由於介面不相容而不能互動的類可以一起工作。這就是介面卡模式的模式動機。

介面卡模式:將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。實際上有「兩種」介面卡:「物件」介面卡和「類」介面卡。類介面卡繼承被適配者和目標類,而物件介面卡使用組合來適配被適配者。

還記得《head first 設計模式》裡面的鴨子,具備呱呱叫和飛行的能力,對應方法是quack()和fly()。現在要用火雞冒充樣子,但是火雞不過呱呱叫,只會咯咯叫和飛行的能力,對應方法是gobble()和fly()。

介面卡模式有兩種形式:物件介面卡和類介面卡。類介面卡需要用到多重繼承。

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...

設計模式之 介面卡模式

1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...

設計模式之介面卡模式

介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...