玩轉設計模式之Adapter

2021-04-14 22:56:29 字數 1451 閱讀 7890

玩轉設計模式之

adapter

設計模式很重要,地球人都知道。

adapter

,介面卡或者叫轉換器,這種模式主要用來將某乙個類的介面轉換成另外乙個類的介面。其實現起來也很簡單,就是新建乙個類,讓其實現所需要的介面,而其實現的過程是完全依賴於原需要被

adapt

的類的。這和我們現實生活中的各類介面卡非常類似,例如:電源介面卡(將

220伏轉換成

110伏)等等。

1.

實現方式

一般有兩種實現方式:繼承和例項成員。

讓我們假設

classa

要被adapt

成inte***ceb

,如下:

//classa

packagesample;

publicclassclassa }

//inte***ceb

packagesample;

publicclass

inte***ceb

·繼承方式

實際上就是通過整合

classa

,然後再加上新的介面方法。

//classc

packagesample;

publicclassclasscextendsclassaimplementsinte***ceb }

·例項成員方式

實際上就是在新的類中建立乙個

classa

的例項,再加上新的介面方法。

//classc

packagesample;

publicclassclasscimplementsinte***ceb }

2.

應用場景

當你有兩個不同的類,其實現方法(介面)不一致,而你又想通過統一的方式來操作這兩個類,而且也不想改變這兩個類的原有實現方式,這時,你就需要使用

adapter

模式了。一般情況下,是將某個特殊的類

adapt

成標準的類。

設計模式 之 Adapter

基礎幾何影象物件 如直線 矩形 是很容易實現的,但文字物件就比較複雜了,其中涉及到了文字格式 段落格式 螢幕更新 快取管理等諸多內容。如果此時正好有乙個成熟的文字繪製工具包可供使用,這個工具包中的textview物件提供了完整的文字格式 段落 螢幕及快取管理,實現了textshape物件需要實現的一...

設計模式之Adapter模式

adapter的意圖可以這樣表述 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使原來由於介面不相容而不能一起工作的類可以一起工作。採用adapter模式是源於這樣的問題 原有系統的資料和行為都正確,但介面不符。通常用於必須從抽象類派生時。其實現方式是將原有類包含在另乙個類中 組合方...

設計模式之 Adapter例項

include memory include iostream class t1 class t2 class iadaptor,抽象基類 class iadaptor class adaptor template class adaptor public iadaptor,private t 實現...