今天的任务:学习“适配器模式”
一、适配器(变压器)模式:
把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。
适配器模式分类:1、类的适配器模式(采用继承实现)2、对象适配器(采用对象组合方式实现)
1、类的适配器模式:
/** * 源,只有一个方法 */ public void run(){ System.out.println("跑"); }
/** *目标接口 */ public interface ITarget(){ //定义两个方法 void run(); void fly(); }
/** *继承源类,然后实现目标接口,从而实现类到接口的适配 */ public class Adapter excends Sources implements ITarget{ //实现源类没有的方法 public vpid fly(){ System.out.println("飞"); } }
public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ITarget target = new Adapter(); target .run(); target .fly(); }
输出结果
:跑
飞
从输出的结果可以看出,这就是适配器模式的作用
2、对象适配器
/** * 源对象,只有跑的功能 * */ public class Animal { public void run(){ System.out.println("跑"); } }
/** * 目标接口,即能跑,又能飞 * */ public interface ITarget { void run(); void fly(); }
/** * 通过构造函数引入源对象,并实现了目标的方法 * */ public class Adapter implements ITarget{ private Animal animal; //private animal animal2...可以适配多个对象 public Adapter(Animal animal){ this.animal = animal; } /** * 拓展几口要求的新方法 * */ public void fly(){ System.out.println("飞"); } /** * 使用源对象的方法 * */ public void run(){ this.animal.run(); }
public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ITarget itarget = new Adapter(new Animal()); itarget.run(); itarget.fly(); } }
相关推荐
该手册编号为QR0429,修订日期为2007年9月10日,涵盖了mSMD系列产品的详细信息。 #### 三、产品信息和技术规格 1. **产品名称:** mSMD系列 - 这一系列是Techfuse品牌下的PTC自恢复保险丝产品。 2. **地址与...
标题中的“Xiaomi 802.11n USB Wireless Adapter_5.1.18.0_2021-04-30 19 16 32.zip”指的是小米公司生产的802.11n标准的USB无线网络适配器的驱动程序包,版本号为5.1.18.0,发布日期为2021年4月30日。802.11n是Wi-...
- **示例**: 将系统日期设置为2007年4月12日17时00分00秒。 **19. clock -w** - **功能**: 将时间修改保存到BIOS。 - **用法**: `clock -w` - **示例**: 更新BIOS中的时间以匹配系统时间。 #### 系统管理相关命令 ...
例如,"TL-WDN5200 V2.0驱动程序20140416"是TP-Link公司为WDN5200 V2.0无线网卡在2014年4月16日发布的驱动程序版本。这个特定的版本可能包含了对当时已知问题的修复,性能优化,或者支持新的操作系统版本。 安装TP-...
- 示例:例如`date 04127002007.00`将设置时间为2007年4月12日7点00分00秒。 4. **Clock -w (将时间修改保存到BIOS)** - 命令:`hwclock -w` - 用途:将当前系统时间写入BIOS中,确保重启后时间准确。 - 示例:...
- **C - Audio Jack changed**:音频插孔被修改,由 RONKIM 在 2014 年 4 月 16 日完成。 - **D - Net naming updated**:网络命名更新,由 RONKIM 在 2014 年 5 月 28 日完成。 - **Block Diagram**:方框图概述...
- **示例**:将系统日期时间设置为2007年4月12日17时0分0秒。 13. **`#dmidecode -q`** - **描述**:显示硬件系统组件(SMBIOS/DMI)。 - **示例**:获取主板、处理器等硬件的具体型号信息。 14. **`#hdparm -...
- **示例**:`copy con test.bat` 创建名为 `test.bat` 的批处理文件,并打开命令提示符输入模式,在输入完毕后按 `Ctrl+Z` 结束。 #### 19. `mem` - **功能**:显示内存使用情况。 - **语法**:`mem` - **示例**...
18. **`date 041217002007.00`**: 设置日期和时间 - 月日时分年.秒。 - **用途**: 修改系统日期和时间。 19. **`clock -w`**: 将时间修改保存到 BIOS。 - **用途**: 更新 BIOS 中存储的系统时间。 #### 关机与...
18. **`date 041217002007.00`**: 设置日期和时间-月日时分年.秒。 - **用途**: 手动设置系统的时间和日期。 19. **`clock -w`**: 将时间修改保存到BIOS。 - **用途**: 保存系统时间到BIOS,确保系统重启后时间...
【全国2005年4月高等教育自学考试计算机网络技术试题】是一份针对高等教育自学考试的计算机网络技术科目的考试试卷。这份试卷包含了多项选择题和填空题,旨在考核考生对计算机网络基础知识的掌握程度。 1. 局域网...
#### 4. copy (Copy Files) - **功能**: 复制文件。 - **用法**: `copy [源文件路径] [目标文件路径]` - 示例: `copy C:\1\mima.txt C:\2\` 将文件mima.txt复制到C:\2目录下。 #### 5. del (Delete Files) - **...
4. **电源适配器**:各种设备的供电部分,如KSAFE4800060W1CH和VA16D-050200,它们提供了不同电压和电流的直流电源,以满足设备的运行需求。 5. **产品认证**:每个产品都有对应的证书号,表明它们已经通过了相应的...
v4.76(2008 年 10 月 16 日) Sysinternals 的另一个优先程序:此程序截取设备驱动程序对 DbgPrint 的调用和 Win32 程序生成的 OutputDebugString。它允许在不使用活动的调试器的情况下,在本地计算机上或通过 ...
全国2009年4月自学考试计算机组成原理试题涵盖了计算机体系结构中的多个核心知识点,主要涉及了数字转换、存储器、处理器、寻址方式、输入输出操作以及中断处理等。 1. 数字转换:试题涉及到将十进制数转换为无符号...
它具有4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,...
3. **`date 041217002007.00`**: 设置日期和时间 - 月日时分年.秒。 - **用途**: 手动设置系统时间和日期。 4. **`clock -w`**: 将时间修改保存到BIOS。 - **用途**: 将系统时间写入BIOS,确保系统关机后时间准确...