接口A:
packagecom.jerry.design.adapter2.imp;
publicinterfaceInterfaceA {
publicvoidtestA();
}
接口B:
packagecom.jerry.design.adapter2.imp;
publicinterfaceInterfaceB {
publicvoidtestB();
}
实现类A:
packagecom.jerry.design.adapter2.impl;
importcom.jerry.design.adapter2.imp.InterfaceA;
publicclassImplAimplementsInterfaceA{
@Override
publicvoidtestA() {
System.out.println(" i am do something as InterfaceA!");
}
}
实现类B:
packagecom.jerry.design.adapter2.impl;
importcom.jerry.design.adapter2.imp.InterfaceB;
publicclassImplBimplementsInterfaceB{
@Override
publicvoidtestB() {
System.out.println(" i am do something as InterfaceB!");
}
}
实现类C:
package com.jerry.design.adapter2.impl;
import com.jerry.design.adapter2.imp.InterfaceA;
import com.jerry.design.adapter2.imp.InterfaceB;
public class ImplC implements InterfaceB,InterfaceA{
private InterfaceA implA;
private InterfaceB implB;
public ImplC(InterfaceA implA,InterfaceB implB){
this.implA = implA;
this.implB = implB;
}
@Override
public void testB() {
implA.testA();
}
@Override
public void testA() {
implB.testB();
}
}
测试类:
package com.jerry.design.adapter2.client;
import com.jerry.design.adapter2.imp.InterfaceA;
import com.jerry.design.adapter2.imp.InterfaceB;
import com.jerry.design.adapter2.impl.ImplA;
import com.jerry.design.adapter2.impl.ImplB;
import com.jerry.design.adapter2.impl.ImplC;
public class Test {
public static void main(String[] args) {
InterfaceA implA = (InterfaceA) new ImplA();
InterfaceB implB = (InterfaceB) new ImplB();
InterfaceA implC = (InterfaceA) new ImplC(implA,implB);
InterfaceB implD = (InterfaceB) new ImplC(implA,implB);
implC.testA();// i am do something as InterfaceB!
implD.testB();// i am do something as InterfaceA!
}
}
总结:正向反向均可适配。
分享到:
相关推荐
华为视频分析平台适配器二次开发指南1.1.0.chm 基于ROMA工具的开发 获取认证信息 导入Demo工程 调测前配置 上传文件 卡口管理
在本篇中,我们将深入理解如何自定义BaseAdapter以创建一个通用的适配器,即“通用适配器二”。 首先,回顾一下在上一篇通用适配器一中的关键代码。在MyAdapter类中,我们看到了以下结构: ```java public class ...
更新驱动用第二个文件夹里的"Xbox ACC rev.3 win7 fix signed sha256" XBOX ACC Win7驱动 Xbox Wireless Adapter for Windows Xbox One 无线手柄接收器2代 微软Xbox One 无线手柄接收器2代驱动。 官方只支持Win...
该程序可用于计数或删除fastq文件中的适配器二聚体。 使用提供的适配器序列,它生成此序列的变体并将其存储在哈希表中。 然后可以将读取结果与哈希直接匹配。 它比对齐要省时得多。
二、适配器模式的结构 适配器模式主要涉及四个角色: - 目标接口(Target):客户端所期待的接口。 - 适配者类(Adaptee):需要适配的原有接口或类。 - 适配器(Adapter):实现了目标接口,并持有适配者类的实例,...
在现实生活中,我们经常遇到适配器的使用,例如欧式插座和笔记本电脑插头的适配器、三相插座和二相插座的适配器等。这些适配器使得原本不兼容的设备能够 совместно工作。 在面向对象软件系统中,我们也会...
二、鸿洋万能适配器 鸿洋的RecyclerView万能适配器是一种高效的适配器模式,它通过继承自BaseAdapter,实现了对多种item类型的统一管理。在传统的Adapter中,当需要显示多种不同布局时,需要创建多个ViewHolder类,...
例如,如果有一个数据操作接口DataOperation,它定义了排序和搜索方法sort和search,现在有已存在的类QuickSort和BinarySearch分别实现了快速排序算法和二分查找算法,那么通过适配器模式,我们可以设计一个系统,将...
#### 二、适配器的作用 1. **数据绑定**:适配器负责将数据模型中的数据与UI组件进行绑定。 2. **数据转换**:它可以帮助处理不同的数据类型,将其转换为可以显示在列表或网格中的形式。 3. **提高性能**:通过重用...
Android实现自定义适配器的ExpandableListView示例,准备一级列表中显示的数据:2个一级列表,分别显示"group1"和"group2",准备第一个一级列表中的二级列表数据:两个二级列表,分别显示"childData1"和"childData2",...
#### 二、适配器模式的实现方式 适配器模式有两种常见的实现方式:**类适配器模式**和**对象适配器模式**。 - **类适配器模式**:通过继承的方式来实现适配,适配器(Adapter)继承自适配者(Adaptee),并实现了目标...
#### 二、适配器模式详解 ##### 2.1 类图解析 适配器模式通常涉及四个主要角色: 1. **目标(Target)**:定义客户使用的接口。在我们的例子中,`Target` 类提供了一个 `request` 方法。 2. **待适配者(Adaptee)**...
在提供的压缩包中,有一个名为“LINUX_DRIVER”的文件夹,可能包含了适用于不同Linux发行版的驱动源码或编译好的二进制文件。用户需要根据自己的Linux版本和内核进行适当的编译或安装,以确保蓝牙适配器能在Linux...
二、适配器的设计特色 1. 采用TOPSwitch-HX®系列的TOP261LN控制器,这种控制器集成了过压保护(OVP)、锁存关断和迟滞过载热保护等多种功能,为适配器提供了完备的保护。 2. 适配器设计极为紧凑,超低厚度为15.4...
MODBUS-RTU是一种在串行通信中广泛应用的协议,它的RTU(Remote Terminal Unit)模式是基于二进制的通信方式。ABB提供了MODBUS-RTU总线适配器,可以连接到相应的设备,支持不同长度的电缆连接,从而实现数据的读写...
#### 二、产品型号及应用范围 根据给定的部分内容显示,母线适配器的产品型号包括但不限于: - **8US1011-4SL01** - **8US1211-4SL01** - **8US1211-4SL00** - **8US1011-4SB00** - **8US1211-4SB00** - **8US1291-4...
#### 二、原因分析 ORA-12560 TNS: 协议适配器错误可能由以下几个方面引起: 1. **监听服务未启动**:Oracle服务器上必须有一个监听器(Listener)来接收来自客户端的连接请求。如果监听器服务没有运行,则客户端...
标题中的“行业分类-设备装置-用于执行从第一适配器到第二适配器的失效转移操作的方法和系统”指的是在信息技术领域,特别是设备管理和网络通信中,涉及到的一种故障转移技术。这种技术是为了确保系统的高可用性和...
二、BaseAdapter的基本结构 1. getCount():返回ListView中item的数量,即数据源的大小。 2. getItem(int position):返回指定位置的数据对象,position从0开始。 3. getItemId(int position):返回指定位置的数据项...