`
nurseryboy
  • 浏览: 1903 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

适配器模式的疑问

    博客分类:
  • java
阅读更多

适配器模式有两种,一种是类适配器,另一种是对象适配器。

类适配器是多继承,如下图:类适配器类图

书上介绍说要多继承,但是java不支持多继承。

那能否用多实习?也即是说Adapter这个类实现两个接口:目标接口和被适配着接口的。例如下代码,这样的适配方式有2个好处:

1. 被适配着发生的行为变化,适配器不需要更改

2. 所有的被适配着的实现类都可以被适配

所以有个疑问, 书上为啥没介绍这种方式?这种方式有什么问题吗?

写道
public class TurkeyAdapterClass implements Duck,Turkey {
Turkey turkey;

public TurkeyAdapterClass(Turkey turkey) {
this.turkey = turkey;
}

@Override
public void quack() {
turkey.gobble();
}

@Override
public void gobble() {
turkey.gobble();
}

@Override
public void fly() {
for(int i=0; i<5; i++) {
turkey.fly();
}
}
}

 

 

  • 大小: 11.6 KB
分享到:
评论

相关推荐

    二十三种设计模式【PDF版】

    设计模式之 Adapter(适配器) 使用类再生的两个方式:组合(new)和继承(extends),这个已经在 thinking in java中提到过. 设计模式之 Proxy(代理) 以 Jive 为例,剖析代理模式在用户级别授权机制上的应用 设计模式之 ...

    关于常见的电源适配器的一些重要功能,你知道吗-综合文档

    本文将深入探讨电源适配器的一些重要功能,并解答你可能存在的疑问。 首先,电源适配器的主要功能是电压转换。电网的电压通常在220V左右,而大多数便携式设备如笔记本电脑、手机和平板电脑需要较低的直流电压才能...

    win7-32位虚拟机找不到网卡

    在虚拟化技术中,虚拟机是一种模拟完整计算机系统的方法,让用户可以在单一的物理硬件上运行多个独立的操作系统实例。...希望上述信息对你有所帮助,如果你还有其他疑问或需要进一步的帮助,请随时提问。

    微软宠物商店代码分析

    PetShop4中的某些服务层组件可能使用了适配器模式来适应不同版本.NET框架的变化。 - **代理模式**:提供一个替代或占位符对象来控制对一个对象的访问。这在处理远程调用和服务时非常有用。 这些设计模式的合理应用...

    EZVIZ萤石C3Wi用户指南.pdf

    【EZVIZ萤石C3Wi用户指南】是EZVIZ萤石品牌为用户提供的详细说明书,主要介绍了Wi-Fi版和PoE版互联网摄像机的使用方法和安装步骤。...用户在使用过程中如有疑问,可参考手册或联系萤石官方获取帮助。

    JMX IN ACTION(八)

    如果你对这个架构还有疑问,建议再次查阅第1章的相关内容。 8.1.1 协议适配器和连接器的使用 协议适配器和连接器在JMX中扮演着桥梁的角色,它们负责将管理应用程序的请求转化为对MBean服务器的操作,以及将服务器的...

    西门子S7-PLCSIM Advanced V1.0 SP1使用手册之虚拟机篇

    ### 西门子S7-PLCSIM Advanced V1.0 SP1 使用手册之虚拟机篇 #### 一、概述 本文档旨在详细介绍如何在虚拟机环境下安装与配置西门子S7-PLCSIM Advanced V...如有其他问题或疑问,可参考相关文档资料或寻求技术支持。

    面试题大全

    - 结构型模式(代理、装饰、适配器、桥接、组合、外观、享元) - 行为型模式(观察者、模板方法、策略、责任链、命令、迭代器、访问者) 10. 框架应用: - Spring框架的IoC(Inversion of Control)和AOP...

    MySpinnerDemo

    在Android开发中,Spinner是一个非常常用的控件,它通常用于展示下拉选择菜单,用户可以点击后看到一个可滚动的...如果你对Spinner的使用有疑问,建议查看源码解析的博客文章,相信能从中获得很多实用的技巧和经验。

    ASUS_RT-N12

    - 常见问题解答 (FAQs):针对用户在使用过程中常见的疑问提供了明确的回答。 - 华硕DDNS服务:介绍如何使用华硕提供的DDNS服务,以便通过域名远程访问家庭网络。 #### 附录 - 注意事项:强调了一些重要的安全须知...

    一“名”惊人项目策划商业计划书.doc

    2. **命名策划服务接口适配器**:为了高效地与客户进行交互,项目开发了适配器,能够对接各种通信渠道,如电信增值服务平台,确保服务的便捷性和实时性。 3. **命名策划平台**:这是一个在线平台,集成了命名算法、...

    家用彩色幻灯电路.zip

    5. 如有疑问或不熟悉操作,建议寻求专业人士的帮助。 综上所述,“家用彩色幻灯电路.zip”中包含的内容可能会指导你如何构建一个自定义的彩色灯光效果系统,通过学习和实践,你可以掌握基本的电子电路知识,并创造...

    Quartus II 9.0软件的使用 EDA实验报告.pdf

    Quartus II 9.0是一款由Altera公司提供的强大FPGA/CPLD开发软件,它为电子设计自动化(EDA)提供了完整的集成环境。...同时,实验中的问题讨论环节鼓励学生提出疑问,深化理解和应用,提高解决实际问题的能力。

    VAS5054A操作手册

    - 具备电源管理功能,可以减少在待机模式下对汽车电池的耗损。 - 配备状态指示灯用于显示工作状态。 ##### 1.3 供货范围 - **标准配备**:包含一个无线诊断头VAS5054A、一条USB导线(VAS5054/1)以及一张可选的CD,...

    sony HD1000C说明书

    索尼HD1000C是一款数码HD摄录一体机,型号为HXR-MC1500C,本设备的操作指南包含了详细的操作说明以及使用时需要注意的事项。...在使用过程中,应遵循操作指南的建议,对于任何疑问或问题,应参照详细的手册进行操作。

    网络http获取的资源用pull解析在listview上

    在实际项目中,考虑到性能和用户体验,可能还需要使用异步加载(如AsyncTask)来避免阻塞主线程,同时使用ViewHolder模式优化ListView的滚动性能。 总结起来,这个主题涉及了网络HTTP请求、XML Pull解析和ListView...

    卡西欧TR200相机说明书

    7. 拍摄功能介绍:TR200支持多种拍摄模式,包括艺术效果拍摄(ARTSHOT)、美颜模式、动作快门、变焦拍摄等,用户可以根据不同的拍摄条件选择合适的模式。 8. BESTSHOT功能:该功能提供多影像超解像变焦、HDR(曝光...

    小牛遥控打包下载

    用户可以根据个人需求自定义遥控面板布局,甚至可以创建多设备的场景模式,一键切换不同设备的状态。此外,应用还提供了定时开关机、音量调节、频道预设等功能,提升用户体验。 对于初次使用或遇到问题的用户,下载...

    VirtualPC2007中文语言包

    此外,Virtual PC 2007还支持虚拟网络设置,可以配置虚拟机之间的网络连接方式,如桥接模式(直接连接到物理网络)、NAT模式(通过主机共享网络)或内部网络(仅虚拟机之间通信)。这使得虚拟机能够模拟真实网络环境...

    android蓝牙通信实例

    Android支持两种蓝牙模式:经典蓝牙(Classic Bluetooth)和低功耗蓝牙(BLE,Bluetooth Low Energy)。经典蓝牙主要用于传输大量数据,如音频流;而BLE则适用于传输小量数据,如传感器数据,且功耗更低。本实例可能涉及...

Global site tag (gtag.js) - Google Analytics