#include <stdio.h>
//c++ 23种设计模式之适配器模式
namespace DesignPattern_Adapter
{
class Adaptee
{
public:
void SpecialRequest(){ printf("我是被适配者!\n") ;}
};
class Target
{
public:
virtual void Request()=0;
};
//适配器类Adapter 链接两个不同的类的函数 类继承
class Adapter:public Target,private Adaptee
{
public:
virtual void Request(){
SpecialRequest();//简单调用
};
};
//适配器类Adapter 链接两个不同的类的函数 对象调用
class ObjectAdapter:public Target
{
public:
virtual void Request(){
_adaptee.SpecialRequest();
};
private:
Adaptee _adaptee;//声明时,调用了默认无参构造函数,该变量不为空
};
}
void main()
{
using namespace DesignPattern_Adapter;
Target *p=new Adapter();
p->Request();
Target *p2=new ObjectAdapter();
p2->Request();
}
c++ 23种设计模式之适配器模式
最新推荐文章于 2024-08-08 10:45:14 发布