2_1 AdpterMode.cpp 适配器模式
生活随笔
收集整理的這篇文章主要介紹了
2_1 AdpterMode.cpp 适配器模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// 定義:將一個類的接口轉換成客戶端需要的另一個接口,使得原本
// 由于接口不兼容而不能一起工作的那些類可以一起工作
//
// 模式舉例:中國電器和電壓普遍都是220V,日本則是110V,中國
// 電器拿到日本月需要一個特殊的適配器
//
// 模式特點:該模式有兩種寫法,類適配器和對象適配器,類適配器
// 是同時繼承原生類和適配類,重寫原生類的接口,間接
// 調用適配類接口;對象適配器則是繼承原生類,內含適配
// 類。推薦使用第二種方式(合成復用原則)
//
//#include<iostream>
using namespace std;class Target
{
public:void request(){cout <<"target ariginal request"<<endl;}
};class Adaptee
{
public:void specialRequest(){cout <<"adapter special request"<<endl;}
};/類適配器
class ClassAdapter : public Target, public Adaptee
{
public://重寫request函數void request(){//做一些輔助的運算//然后調用適配器的接口Adaptee::specialRequest();}
};/對象適配器//
class ObjectAdapter : public Target
{
public:ObjectAdapter(Adaptee * adaptee):m_adaptee(adaptee){}void request(){//做一些輔助的運算//然后調用適配器的接口m_adaptee->specialRequest();}private:Adaptee * m_adaptee;
};int main()
{ClassAdapter * pClassAdapter = new ClassAdapter();pClassAdapter->request();ObjectAdapter * pObjectAdapter = new ObjectAdapter(new Adaptee);pObjectAdapter->request();return 0;
}
?
總結
以上是生活随笔為你收集整理的2_1 AdpterMode.cpp 适配器模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1_5 PrototypeMode 原型
- 下一篇: COM编程概述