/*
适配器模式:将一个接口装换为客户希望的接口,使得两个原本不能一起工作的类可以一起工作.
适配器提供客户类需要的接口,适配器的实现就是把客户类的请求转化为对适配者的相应接口的
调用。也就是说:当客户类调用适配器的方法时,在适配器类的内部将调用适配者类的方法,而
这个过程对客户类是透明的,客户类并不直接访问适配者类。因此,适配器可以使由于接口不兼
容而不能交互的类可以一起工作。这就是适配器模式的模式动机。
Created by Phoenix_FuliMa
*/
#include <iostream>
using namespace std;
class Adaptee
{
public:
void SpecialHanle()
{
cout<<"i am a special handle()"<<endl;
}
};
class Target
{
public:
virtual void Handle()
{
}
};
class Adapter:public Target
{
private:
Adaptee *adaptee;
public:
Adapter(Adaptee *adaptee)
:adaptee(adaptee)
{
}
void Handle()
{
this->adaptee->SpecialHanle();
}
};
class Client
{
public:
void Hanlde(Target *target)
{
target->Handle();
}
};
int main()
{
Adaptee *adaptee = new Adaptee();
Adapter *adapter = new Adapter(adaptee);
Client *client = new Client();
client->Hanlde(adapter);
delete adapter;
delete adaptee;
delete client;
system("pause");
return 0;
}
C++实现适配器模式
最新推荐文章于 2024-04-04 20:57:17 发布