适配器模式(Adapter),将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本接口不兼容而不能一起工作的那个类可以一起工作。
适用场景:系统的数据和行为都正确,但接口不符时,考虑使用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望一些现存的类,但是接口又与复用环境要求不一致的情况。
分类:类适配器模式和对象适配器模式
using namespace std; //客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口 class target { public: virtual void request() { cout << "普通请求" << endl; } }; //需要适配的类 class adaptee { public: virtual void specificrequest() { cout << "特殊请求" << endl; } }; //通过在类内包装一个adaptee对象,把接口转换成目标接口 class adapter : public target { private: adaptee* ad = new adaptee(); public: void request() { ad->specificrequest(); } }; int main() { target* ta = new adapter(); ta->request(); return 0; }