设计模式:Adapter模式
Posted chusiyong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式:Adapter模式相关的知识,希望对你有一定的参考价值。
目的:复用代码和兼容以前的代码
思想:提供一个中间层,做兼容
方法:“继承”的方式,“委托”的方式
继承关系图:
- 委托方式
- 继承方式
例子:
//原来的打印 class Print public: void PrintText(string str) cout<< str ; ; //新要求,打印加括号 class NewPrint public: virtual void PrintText(string str) = 0; ;
//适配层:委托方式 class Adapter: public NewPrint Print print; //委托方式 public: Adapter(Print print) this->print = print; void PrintText(string str) cout<< "( "; print.PrintText(str); cout<< " )" << endl;; ;
int main() Print p; NewPrint* np = new Adapter(p); np->PrintText("niu bi le!"); return 0;
//适配层:继承的方式 class Adapter: public Print, public NewPrint //继承方式 public: void NewPrintText(string str) cout<< "( "; PrintText(str); cout<< " )" << endl;; ;
int main() NewPrint* np = new Adapter; np->NewPrintText("niu bi le!"); return 0;
以上是关于设计模式:Adapter模式的主要内容,如果未能解决你的问题,请参考以下文章