設計模式之介面卡模式

2021-08-16 02:46:17 字數 880 閱讀 3389

介面卡模式可以用來將已有的功能或類適配到新的功能中。

基本樣例**如下:

./宣告

//專案存在乙個已有的功能類xdoor,該類用於繪製門,新的專案在構建乙個房子,房子的進出元件,例如窗戶,地面等都提供了

//乙個介面build,但xdoor沒有提供build介面,但他提供了乙個類似的create的介面,那麼則在使用時,可以通過介面卡模式

//對xdoor進行復用

class xdoor

;class baseelement

;class mywindown :public baseelement

;class myfloor :public baseelement

;class mydoor:public baseelement

void baseelement::build()

void mywindown::build()

void myfloor::build()

void mydoor::build()

./main測試**

int main()

//介面卡模式測試

std::vectorelvec;

mywindown *pmywindow = new mywindown();

elvec.push_back(pmywindow);

myfloor *pmyfloor = new myfloor();

elvec.push_back(pmyfloor);

mydoor *pmydoor = new mydoor();

elvec.push_back(pmydoor);

for (size_t idx = 0; idx < elvec.size(); idx++)

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

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

設計模式之 介面卡模式

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

設計模式之介面卡模式

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