适配器模式
小小最爱喝饮料,可妈妈不让,每天都用保温杯给她晾白开水,她自己想了个办法,偷偷地开水杯中的水倒掉,然后将饮料倒进水杯内,以后她就特别爱喝“白开水”了。这就是适配器模式的思想。
特点::双方都不适合修改的时候,可以考虑使用适配器模式。
实现代码:
#include <iostream>
using namespace std;
class Target
{
public:
virtual void Request()
{
cout<<"实际喝饮料"<<endl;
}
};
class Adaptee
{
public:
void SpecificalRequest()
{
cout<<"假装喝白开水"<<endl;
}
};
class Adapter :public Target
{
private:
Adaptee* ada;
public:
virtual void Request()
{
ada->SpecificalRequest();
Target::Request();
}
Adapter()
{
ada=new Adaptee();
}
~Adapter()
{
delete ada;
}
};
//客户端:
int main()
{
Adapter * ada=new Adapter();
ada->Request();
delete ada;
return 0;
}