对象适配器
类适配器
适配模式:就解决调用接口(Request)和被调用接口(SpecificRequest)不匹配的问题,加一个适配器(Adapter)解决。
代码(c++,对象适配器):
#include
using namespace std;
#include
// 抽象层
class Target{
public:
virtual void Request()=0;
};
// 具体层
class Adaptee
{
public:
void SpecificRequest()
{
cout<<“Adaptee::SpecificRequest\n”;
}
};
class Adapter: public Target
{
public:
virtual void Request(){
Adaptee* adaptee = new Adaptee();
adaptee->SpecificRequest();
}
};
class Client
{
public:
void maisn(){
Target* target = new Adapter();
target->Request();
}
};
//客户端调用
int main()
{
cout<<“适配器模式\n”;
Client* c = new Client();
c->maisn();
//看代码不用考虑以下内容
int cin_a;
cin>>cin_a;
return 0;
}