目录
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
类适配器使用多重继承对一个接口与另一个接口进行匹配。
对象匹配器依赖于对象组合。
定义Client使用的与特定领域相关的接口。
与符合Target接口的对象协同。
定义一个已经存在的接口,这个接口需要适配。
对Adaptee的接口与Target接口进行适配。
- #include
- using namespace std;
-
- class Target {
- public:
- virtual void Request() {
- cout << "Target::Request" << endl;
- }
- };
-
- class Adaptee {
- public:
- void SpecificRequest() {
- cout << "Adaptee::SpecificRequest" << endl;
- }
- };
-
- //Adapter Class
- class AdapterClass :public Target, private Adaptee {
- public:
- virtual void Request() {
- cout << "AdapterClass::Request" << endl;
- this->SpecificRequest();
- }
- };
-
- //Adapter Object
- class AdapterObject :public Target {
- public:
- AdapterObject(Adaptee* TempAdaptee) {
- this->adaptee = TempAdaptee;
- }
- virtual void Request() {
- cout << "AdapterObject::Request" << endl;
- adaptee->SpecificRequest();
- }
- private:
- Adaptee* adaptee;
- };
-
- int main() {
- //Adapter Class
- AdapterClass* adapterClass = new AdapterClass;
- adapterClass->Request();
-
- //Adapter Object
- Adaptee* adaptee = new Adaptee;
- AdapterObject* adapterObject = new AdapterObject(adaptee);
- adapterObject->Request();
-
- return 0;
- }