06_23 种设计模式之《适配器模式》

#include <iostream> using namespace std; // 我们要定义客户端使用的接口,与特殊领域相关的 class Target { public: virtual void RequestFunc() = 0; virtual ~Target() { cout << "调用Target类析构函数." << endl; } }; // 已经存在的接口,这个接口需要被适配 class Adaptee { public: void SpecificRequestFunc() { cout << "\nAadaptee类特殊请求处理实现模块.\n" << endl; } ~Adaptee() { cout << "调用Adaptee类析构函数." << endl; } }; // 适配器,将现在接口转为需要的接口 class Apapter :public Target { private: Adaptee* adaptee; public: Apapter() { adaptee = new Adaptee(); cout << "调用Apapter类构造函数." << endl; } public: virtual void RequestFunc() { // 可以转调已经实现的方法,进行适配 adaptee->SpecificRequestFunc(); } virtual ~Apapter() { if (adaptee != NULL) { delete adaptee; adaptee = NULL; } cout << "调用Apapter类析构函数." << endl; } }; int main() { // 创建客户端需要调用的接口对象 Target* target = new Apapter(); target->RequestFunc(); // 请求处理操作 if (target != NULL) { delete target; target = NULL; } return 0; }
上一篇:Linux内核源码阅读:AArch64的异常处理机制详谈(内核版本6.11)


下一篇:基于springboot vue在线学籍管理系统设计与实现