/********************************************************************* 适配器模式: 将18V的接口,通过适配器实际调用的为220V函数 1.创建两个不同的接口18V和220V接口 2.新建适配器类(继承18V的类),并在其中定义220V接口的指针,通过对象注入将220V的对象注入到适配器中 3.并将其18V接口重写(在此函数中,使用220V接口的指针去调用220V对象的函数) 从而看起来像是调用的同一个接口,但是实际调用的是被适配的对象的函数 对象注入技术 **************************************************************************/ #include <iostream> using namespace std; class Current18v { public: void use18vCurrent() { cout << "使用18v的交流电" << endl; } }; class Current220v { public: void use220vCurrent() { cout << "使用220v的交流电" << endl; } }; class Adapter : public Current18v { public: Adapter(Current220v *p220v) { m_p220v = p220v; } void use18vCurrent() { m_p220v->use220vCurrent(); cout << "adapter中使用电流" << endl; } private: Current220v *m_p220v; }; void main() { Current220v *p220v = new Current220v; Adapter *padapter = new Adapter(p220v); padapter->use18vCurrent();
delete p220v; delete padapter; system("pause");
}