设计模式--适配器模式(C++实现)

定义:适配器模式是一种结构型设计模式,他主要是将一个类接口转换成客户端希望的另一个类接口。该设计模式较为简单,但是却很常用。

 

#include<iostream>
#include<string>

using namespace std;

class InterfaceA
{
public:
	virtual void FuncA()
	{
		cout << "InterFaceA Method: FuncA" << endl;
	}
};

class InterfaceB
{
public:
	virtual void FuncB()
	{
		cout << "InterFaceB Method: FuncB" << endl;
	}
};

class Adapter :public InterfaceA
{
public:
	Adapter(InterfaceB * pIB) :_pB(pIB) {}
	void FuncA()
	{
		_pB->FuncB();
	}
private:
	InterfaceB *_pB;
};

int main()
{
	InterfaceB *pTempB = new InterfaceB();
	InterfaceA *pTempA = new Adapter(pTempB);
	pTempA->FuncA();
	
	system("pause");
	return 0;
}

 总结:如上图所示,客户端调用的是接口A的方法A,但是实际执行的是接口B的方法B。适配器模式适用于已存在某一功能类,但是接口不符合要求的情况。可以通过适配器模式将现有的接口方法转为客户端期望的方法。


版权声明:本文为zhang_zhilai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。