概述
適配器模式可以將一個類的接口轉換成客戶希望的另一個類的接口
效果
類適配器
- 一個具體的Adapter(適配器)類對Adaptee(被適配者)和Target(目標)進行匹配
- Adapter可以重定義Adaptee的部分行爲
- 不需要額外的指針以間接得到adaptee
對象適配器
- 允許Adapter與Adaptee及其子類一起工作。
- 重定義Adaptee的行爲比較困難,需要生成他的子類纔可以重定義
結構
示例代碼
class Adaptee
{
public:
Adaptee();
~Adaptee();
void func_a();
void func_b();
protected:
private:
};
class Target
{
public:
Target();
virtual ~Target();
virtual bool func_c(int a);
protected:
private:
};
/************************************************************************/
/* 類適配器*/
/************************************************************************/
class Adapter :public Target ,private Adaptee
{
public:
Adapter();
~Adapter();
bool func_c(int a)
{
func_a();
func_b();
return true;
}
protected:
private:
};
/************************************************************************/
/* 對象適配器 */
/************************************************************************/
class Adapter :public Target
{
public:
Adapter(Adaptee *adaptee)
{
m_adaptee = adaptee;
}
~Adapter();
bool func_c(int a)
{
m_adaptee->func_a();
m_adaptee->func_b();
return true;
}
protected:
private:
Adaptee *m_adaptee;
};
我的個人網站 http://www.breeziness.cn/
我的CSDN http://blog.csdn.net/qq_33775402轉載請註明出處 小風code www.breeziness.cn