适配器模式
定义:将一个类的接口转换为用户希望的另外一个接口,使得原本因为接口不兼容而不能一起工作的类能在一起工作。
它属于结构型模式,
代码:
#include <iostream>
using namespace std;
//客户需要的接口类 即对外提供的类
class IProvide
{
public:
virtual void Connect() = 0;
};
//需要适配的类
class Tcp{
public:
void tcpConnect()
{
cout << "tcp连接" << endl;
}
};
//适配类
class Adapter :public IProvide
{
public:
Adapter() :m_tcp(nullptr)
{
m_tcp = new Tcp;
}
//对外提供的接口
void Connect(){
//实际调用的接口
m_tcp->tcpConnect();
}
private:
Tcp *m_tcp;
};
//客户端
int main()
{
IProvide *p = new Adapter;
p->Connect();
if (p)
{
delete p;
p = nullptr;
}
return 0;
}