设计模式-适配器模式

在设计模式 (计算机)中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。

有两类适配器模式:

·对象适配器模式 - 在这种适配器模式中,适配器容纳一个它我包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。

·类适配器模式 - 这种适配器模式下,适配器继承自已实现的类(一般多重继承)。

设计模式-适配器模式_第1张图片


#include <iostream>

class Adaptee
{
public:
	void SpecialRequest() { std::cout << "Adaptee::SpecialRequest" << std::endl; }
};

class Target
{
public:
	virtual ~Target() { }
	virtual void Request() { std::cout << "Target::Request" << std::endl; }
};

class Adapter : public Target
{
public:
	Adapter(Adaptee *obj)
		: _adaptee(obj)
	{ }

	void Request() { _adaptee->SpecialRequest(); }

private:
	Adaptee *_adaptee;
};

int main(void)
{
	Adaptee obj;
	Target *tar = new Adapter(&obj);
	tar->Request();

	return 0;
}


你可能感兴趣的:(设计模式-适配器模式)