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