![[架构设计]设计模式C++实现--适配器模式.docx_第1页](http://file.renrendoc.com/FileRoot1/2020-1/14/2662a544-e32a-4d94-8ab4-fd0f7bdd8725/2662a544-e32a-4d94-8ab4-fd0f7bdd87251.gif)
![[架构设计]设计模式C++实现--适配器模式.docx_第2页](http://file.renrendoc.com/FileRoot1/2020-1/14/2662a544-e32a-4d94-8ab4-fd0f7bdd8725/2662a544-e32a-4d94-8ab4-fd0f7bdd87252.gif)
![[架构设计]设计模式C++实现--适配器模式.docx_第3页](http://file.renrendoc.com/FileRoot1/2020-1/14/2662a544-e32a-4d94-8ab4-fd0f7bdd8725/2662a544-e32a-4d94-8ab4-fd0f7bdd87253.gif)
![[架构设计]设计模式C++实现--适配器模式.docx_第4页](http://file.renrendoc.com/FileRoot1/2020-1/14/2662a544-e32a-4d94-8ab4-fd0f7bdd8725/2662a544-e32a-4d94-8ab4-fd0f7bdd87254.gif)
![[架构设计]设计模式C++实现--适配器模式.docx_第5页](http://file.renrendoc.com/FileRoot1/2020-1/14/2662a544-e32a-4d94-8ab4-fd0f7bdd8725/2662a544-e32a-4d94-8ab4-fd0f7bdd87255.gif)
全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模式定义: 适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 适配器可以分为类适配器和对象适配器。 类适配器使用多重继承对一个接口与另一个接口进行匹配。 对象适配器依赖于对象组合。客户使用适配器的过程:1.客户通过目标接口调用适配器的方法对适配器发出请求。2.适配器使用被适配者接口把请求转换成被施培者的一个或多个调用接口3.客户接收到调用的结果,但并未察觉这一切是适配器在起转换作用。模式结构: 类适配器对象适配器举例:现在假设你缺少鸭子对象(叫声为Quack,飞行输出”Im flying !”),想用一些火鸡对象(叫声为”Gobble gobble” 飞行输出”Im flying a short distance!”)来冒充。显而易见,因为火鸡的接口(行为)不同,所以我们不能公然拿来使用。UML设计:编程实现及执行结果:cppview plaincopy1. #include2. 3. usingnamespacestd;4. /定义鸭子类5. classDuck6. 7. public:8. virtualvoidquack();9. virtualvoidfly();10. ;11. /定义绿头鸭12. classMallardDuck:publicDuck13. 14. public:15. voidquack()16. 17. coutQuackendl;18. 19. 20. voidfly()21. 22. coutImflyingendl;23. 24. ;25. /定义火鸡26. classTurkey27. 28. public:29. virtualvoidgobble()30. virtualvoidfly()31. ;32. /定义野火鸡33. classWildTurkey:publicTurkey34. 35. public:36. voidgobble()37. 38. coutGobblegobbleendl;39. 40. voidfly()41. 42. coutImflyingashortdistancegobble();54. 55. voidfly()56. 57. turkey-fly();58. 59. private:60. Turkey*turkey;61. ;62. /客户代码63. intmain()64. 65. Duck*duck=newMallardDuck();66. duck-quack();67. duck-fly();68. 69. Duck*turkeyAdapter=newTurkeyAdapter(newWildTurkey();70. turkeyAdapter-quack();71. turkeyAdapter-fly();72. return0;73. 执行结果:QuackImflyingGobblegobbleImflying a short distance请按任意键继续. . .适配器和装饰者模式比较:适配器:将一个接口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司管理和安全培训课件
- 污水处理技术讲解
- 海鲜经营合作合同5篇
- 血站质量工作总结
- 急性哮喘发作的家庭护理
- 物业人事主管年终总结
- 糖尿病护理新理念
- 公积金贷款,购房合同8篇
- 结缔组织病患儿的护理
- 《粒粒皆辛苦》课件
- 心肌梗死的急救护理课件
- 机场运行指挥员4级考试试题及答案
- 设备维护保养计划及执行记录模板
- 云南省建设厅安全b证考试题库及答案解析
- 外科感染与无菌操作课件
- 2025年肾脏病学CKD患者透析并发症应对模拟考试答案及解析
- 【《航空发动机最小点火量的计算过程概述》1000字】
- 2025-2026学年七年级上册数学(人教版)教学计划(三篇)
- 八师兵团职工考试题库及答案
- 2024下半年天翔外科手术器械ESG行动报告:供应链中的ESG责任与机遇
- 2025年生物化学与分子生物学综合题答案及解析
评论
0/150
提交评论