適配器模式(Adapter):將一個類別的介面轉換成客戶希望的另一個介面。 Adapter模式使得原本因為介面不相容而無法一起工作的那些類別可以一起工作。
何時使用適配器模式:
兩個類別所做的事情相同或相似,但是具有不同的介面時需要它。
雙方都不太容易修改的時候再使用適配器模式。
模式實作:
[code]//Target class Target{ public: virtual void Request(){ std::cout << "Target::Request\n"; } }; //Adaptee适配(者)的类 class Adaptee{ public: void SpecificRequest(){ std::cout << "Adaptee::SpecificRequest\n"; } }; //Adapter,适配器 class Adapter: public Target, Adaptee{ public: void Request(){ Adaptee::SpecificRequest(); } };
客戶端:
[code]//Client int main(){ Target *targetObj = new Adapter(); targetObj->Request(); //Output: Adaptee::SpecificRequest delete targetObj; targetObj = NULL; return 0; }
以上就是C++設計模式淺識適配器模式的內容,更多相關內容請關注PHP中文網(www.php.cn)!