概念
Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。
适用于:
是将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
#include <iostream>
using namespace std;
class Current18v
{
public:
void use18vCurrent()
{
cout<< "使用18v的交流电" << endl;
}
protected:
private:
};
class Current220v
{
public:
void use220vCurrent()
{
cout<< "使用220v的交流电" << endl;
}
protected:
private:
};
class Adapter : public Current18v
{
public:
Adapter(Current220v*p220v)
{
m_p220v= p220v;
}
void use18vCurrent()
{
cout<< "adapter中使用电流" << endl;
m_p220v->use220vCurrent();
}
protected:
private:
Current220v*m_p220v;
};
void main()
{
Current220v*p220v = new Current220v;
Adapter*padapter = new Adapter(p220v);
padapter->use18vCurrent();
delete p220v;
delete padapter;
system("pause");
return;
}
Adapt 模式其实就是把完成同样的一个功能但是接口不能兼容的类桥接在一起 使之可以在一起工作,这个模式使得复用旧的接口成为可能. 实现: Adapt 模式有两种实现办法,一种是采用继承原有接口类的方法,一种是采用组 合原有接口类的方法
要点
Adapter模式主要应用与“希望服用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。
一般而言,推荐使用 :对象适配器采用“对象组合”的方式,更符合松耦合精神