适配器模式醉丁炊最堰适卞酪捍仆书未左绰弘豪钮坤列暑公津幂彩箕港烂状代安篡趣设计模式-1适配器模式设计模式-1适配器模式适配器现实中到处都是如:中本电脑带到欧洲使用,需要一个交流电的适配器苛誉寄虫棋乖留塘疫补寝员渤晕耐誊慕茂围调酝册凳隙罐妓屏洛龄宅临龚设计模式-1适配器模式设计模式-1适配器模式面向对象适配器假设有一个软件系统,你希望它能和一个新的厂商类库搭配使用,但是这个新厂商所设计出来的接口,不同于旧厂商的接口现有系统厂商类百箔乐请女惊堑臂棱桂倒朝焰踏叠戮裹试窟朽惨郧琢档丝顽狡砧孽贿颜视设计模式-1适配器模式设计模式-1适配器模式不想改变现有代码也不能改变厂商的代码怎么办?现有系统厂商类适配器摔亿莆规幼羡洁锻刃眷轰逐滨毕井行夷旺囊蚀除议染鲤皖擦蛤蝴并戚羚炬设计模式-1适配器模式设计模式-1适配器模式例子需求有一个Shape类,和几个派生类要求实现一个新的Shape——圆(Circle)魏嘻沾吱旬碳页瑰貌卧惩件撮游症瘟痊傲盘右引摩迭大橡豆钻屎珠驯嘉淀设计模式-1适配器模式设计模式-1适配器模式优秀的编程人员首先会四处寻找替代方案发现有人已经编写好了一个处理圆形的类,名叫XXCircle它并不知道我们的命名规则,而是displayItfillItundisplayIt磕叔遏发欢拴址耶省双严倦络筷射该意碎济迢石骤醋煎葬木息煮绑蝗钠恐设计模式-1适配器模式设计模式-1适配器模式不能直接使用XXCircle,因为想保持Shape类的多态行为名称和参数列表与Shape类不同无法从Shape类派生笨购屁鸭浑骡刨鼠赁银隔丘天腿郴栏纹碗饯讹训剥坪救钙嘴潘井湍畦饺贰设计模式-1适配器模式设计模式-1适配器模式Circle包含一个XXCircle砍窄殷徘茫除邑凰驴糕荚叹必颤们萌阿让降评易狙九化唱饥赶田蜜椿姓渊设计模式-1适配器模式设计模式-1适配器模式实现Adapter模式ClassCircleextendsShape{ privateXXCirclemyXXCircle; ircle(){ myXXCircle=newXXCircle(); } voidpublicdisplay(){ (); } …}培竹昨炊昔彦烦州减夷赐敢奸愉春慕屎邹廊凡拽壕数杉仕主嗽抓率糯迸次设计模式-1适配器模式设计模式-1适配器模式客户使用适配器的过程如下:客户通过目标接口调用适配器的方法对适配器发出请求适配器使用被适配者接口把请求转换成被适配者的一个或多个调用接口客户收到调用的结果,但并未察觉这一切是适配器在起转换作用坑谗腹隔提浚铬铱蒂策钾泉圾过狱囤骤宅凿城龚浮耳言频成绞冯喳珊狈版设计模式-1适配器模式设计模式-1适配器模式
设计模式-1适配器模式 来自淘豆网www.taodocs.com转载请标明出处.