c++ 適配器模式(adapter)


當兩個系統的接口不一樣時,我們就要重新封裝一下接口,以便於當前系統的調用。這種模式叫做適配器模式。適配器模式分為兩種:

1.對象組合適配器Object Adapter

2.類適配器Class Adapter)采用類繼承的方式實現。

下面是對象適配器的使用。

#include <iostream>
#include <string>

using namespace std;

class CCnOutlet
{
public:
    virtual ~CCnOutlet()
    {

    };
    virtual void Cnplug()
    {
        //cout << "中式插座!" << endl;
    };
};

class CEnOutlet
{
public:
    void EnPlug()
    {
        cout<<"use en plug" << endl;
    }
};

class CCnOutletAdapter : public CCnOutlet
{
public:
    CCnOutletAdapter(CEnOutlet* pEnOutlet):m_pEnOutlet(pEnOutlet) {};
    virtual ~CCnOutletAdapter() {};
    virtual void Cnplug()
    {
        cout << "adapter transfer" << endl;
        m_pEnOutlet->EnPlug();
    }

private:
    CEnOutlet* m_pEnOutlet;
};

int main()
{
    CEnOutlet *pEnOutlet = new CEnOutlet;
    CCnOutlet *pCnOutlet = new CCnOutletAdapter(pEnOutlet);
    pCnOutlet->Cnplug();

    delete pEnOutlet;
    delete pCnOutlet;

    system("pause");
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM