介面卡模式

2021-09-19 13:18:02 字數 1273 閱讀 1150

介面卡模式(adapter):將乙個類的介面轉換成客戶希望的另外乙個介面,adapter模式使原來由於介面不相容而不能一起工作的那些類可以一起工作。

在想要使用乙個已存在的類,但是如果它的介面,也就是它的方法和你的要求不相同的時候,就應該考慮使用介面卡模式,兩個類所做的事件相同或相似,但是具有不同的介面時要使用它

介面卡模式在實現上就是利用乙個類將介面不匹配的的介面重新封裝一遍

#include

#include

using namespace std;

//class player

player

(string n)

:name

(n) virtual void

attack()

=0; virtual void

defense()

=0;protected:

string name;};

//前鋒

class forwards: public player

void

attack()

void

defense()

};//中鋒

class center : public player

void

attack()

void

defense()

};//外籍運動員,chinaattack,chinadefences 介面不適用於attack 與 defences

//但是兩對介面的功能時類似的,

//所以用介面卡將介面轉換一致,使得客戶端的呼叫更加簡單

class foreigncenter

foreigncenter

(string n)

:name

(n)void

chinaattack()

void

chinadefences()

protected:

string name;};

class adapter : public player

void

attack()

void

defense()

private:

foreigncenter *foreign;};

intmain()

介面卡模式(類介面卡 物件介面卡)

做個筆記 引用 public inte ce usb public inte ce psp public class usber implements usb 類介面卡 psp適用usb介面 public class usbadapter extends usber implements psp 物...

介面卡模式 預設介面卡,類介面卡,物件介面卡

模式思想 改變乙個類的對外介面 增加或減少 以滿足不同外部呼叫者的需求 角色成員 目標介面 target 客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。需要適配的類 adaptee 需要適配的類或適配者類。介面卡 adapter 通過包裝乙個需要適配的物件,把原介面轉換成目標介面。適配...

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...