(1)target(目標抽象類): 目標抽象類定義客戶所需介面,可以是乙個抽象類或介面,也可以是具體類
(2)adapter(介面卡類): 介面卡可以呼叫另乙個介面,作為乙個轉換器,對adapter和target進行適配.介面卡類是介面卡模式的核心, 在物件介面卡模式中,它通過target並關聯乙個adaptee物件使二者產生聯絡
(3)adaptee(適配者類): 適配者即並被適配的角色,它定義了乙個已經存在的介面,這個介面需要適配,適配者類一般是乙個具體類,包含了客戶希望使用的業務方法,在某些情況下可能沒有適配者類的源**
#include
#include
using namespace std;
class adapter
void operationb(int x)
void operationc()
void operationd()
};// 目標介面
class target ;
class adaptee_one : public target
void anotheroperation()
};class adaptee_two : public target
void anotheroperation()
};/*
it will be easier to understand if:
adaptee = deque;
target = sequence;
adaptee_one = stack
adaptee_two = queue
operationa = push_back;
operationb = push_front;
operationc = pop_back;
operationd = pop_front;
operation = push;
anotheroperation = pop;
*/
#include
"product.h"
int main()
輸出結果:
adapter operationa
adapter operationc
adapter operationb
adapter operationd
有的膝上型電腦的工作電壓是20v,但是我國的家庭用電是200v,要讓20v的膝上型電腦能夠在220v的電壓下工作,就需要乙個電源介面卡也就是充電器/變壓器.
(1)系統需要使用一些現有的**,而這些類的介面(例如方法名)不符合系統的需要,甚至沒有這些類的源**
(2)想建立乙個可以重複使用的類,用於與一些彼此之間沒有太大聯絡的類,包括一些可能在將來引進的類一起工作.
介面卡模式(Adapter Pattern)
介面卡模式 adapter pattern 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原來由於介面不相容而不能一起工作的 那些類可以一起工作。target類 這是客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。public class target 需要適配的類 ...
介面卡模式(Adapter Pattern)
介面卡模式 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。生活中的例子 1.在日常生活中我們經常碰見一些無法直接對接的現象,比如自來水管 竹筒 插座等等。這些東西都會由於兩頭沒有乙個標準,導致無法直接連線使用。自來水管從地底下...
介面卡模式(Adapter Pattern)
介面卡模式定義 將乙個類的介面轉換成客戶期望的另乙個介面,介面卡模式讓原本由於介面不相容而無法一起工作的那些類可以一起工作 介面卡模式分為3個組成部分 target 目標類 介面 adapter 介面卡 adaptee 被適配的類 介面 通過adapter的適配,可以像使用target一樣使用ada...