首页 > 代码库 > 设计模式14——适配器模式

设计模式14——适配器模式

适配器模式可以使接口不相同的几个对象通过适配来统一接口。Target与Adaptee各自拥有自己的方法,但接口不同,可以通过Adapter进行统一。

 1 #ifndef Adapter_H_H 2 #define Adapter_H_H 3  4 #include <iostream> 5 using namespace std; 6  7 class Target 8 { 9 public:10     virtual void display() { cout << "This is a common target!" << endl; }11     virtual ~Target() {}12 };13 14 class Adaptee15 {16 public:17     void specialDisplay() { cout << "This is a special target!" << endl; }18 };19 20 class Adapter : public Target21 {22 public:23     Adapter() : adaptee(new Adaptee()) {}24     virtual void display() { adaptee->specialDisplay(); }25     ~Adapter() { delete adaptee; }26 27 private:28     Adaptee *adaptee;29 };30 31 32 void AdapterTest()33 {34     Target *target1 = new Target();35     Target *target2 = new Adapter();36 37     target1->display();38     target2->display();39 40     delete target1;41     delete target2;42 }43 44 45 #endif

运行结果:

Adaptee与Target接口不同,却可以通过Adapter进行统一。

设计模式14——适配器模式