`
Cages
  • 浏览: 104315 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

适配器(二)

 
阅读更多

接口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

    华为视频分析平台适配器二次开发指南1.1.0.chm 基于ROMA工具的开发 获取认证信息 导入Demo工程 调测前配置 上传文件 卡口管理

    Android之自定义实现BaseAdapter(通用适配器二)

    在本篇中,我们将深入理解如何自定义BaseAdapter以创建一个通用的适配器,即“通用适配器二”。 首先,回顾一下在上一篇通用适配器一中的关键代码。在MyAdapter类中,我们看到了以下结构: ```java public class ...

    DimerRemover:从NGS数据中删除适配器二聚体-开源

    该程序可用于计数或删除fastq文件中的适配器二聚体。 使用提供的适配器序列,它生成此序列的变体并将其存储在哈希表中。 然后可以将读取结果与哈希直接匹配。 它比对齐要省时得多。

    java设计模式之适配器模式

    二、适配器模式的结构 适配器模式主要涉及四个角色: - 目标接口(Target):客户端所期待的接口。 - 适配者类(Adaptee):需要适配的原有接口或类。 - 适配器(Adapter):实现了目标接口,并持有适配者类的实例,...

    适配器设计模式ppt

    在现实生活中,我们经常遇到适配器的使用,例如欧式插座和笔记本电脑插头的适配器、三相插座和二相插座的适配器等。这些适配器使得原本不兼容的设备能够 совместно工作。 在面向对象软件系统中,我们也会...

    鸿洋recyclerview万能适配器实战

    二、鸿洋万能适配器 鸿洋的RecyclerView万能适配器是一种高效的适配器模式,它通过继承自BaseAdapter,实现了对多种item类型的统一管理。在传统的Adapter中,当需要显示多种不同布局时,需要创建多个ViewHolder类,...

    适配器模式实例之算法适配

    例如,如果有一个数据操作接口DataOperation,它定义了排序和搜索方法sort和search,现在有已存在的类QuickSort和BinarySearch分别实现了快速排序算法和二分查找算法,那么通过适配器模式,我们可以设计一个系统,将...

    Android开发---适配器

    #### 二、适配器的作用 1. **数据绑定**:适配器负责将数据模型中的数据与UI组件进行绑定。 2. **数据转换**:它可以帮助处理不同的数据类型,将其转换为可以显示在列表或网格中的形式。 3. **提高性能**:通过重用...

    Android实现自定义适配器的ExpandableListView示例.rar

    Android实现自定义适配器的ExpandableListView示例,准备一级列表中显示的数据:2个一级列表,分别显示"group1"和"group2",准备第一个一级列表中的二级列表数据:两个二级列表,分别显示"childData1"和"childData2",...

    Java开发适配器模式详解

    #### 二、适配器模式的实现方式 适配器模式有两种常见的实现方式:**类适配器模式**和**对象适配器模式**。 - **类适配器模式**:通过继承的方式来实现适配,适配器(Adapter)继承自适配者(Adaptee),并实现了目标...

    适配器模式

    #### 二、适配器模式详解 ##### 2.1 类图解析 适配器模式通常涉及四个主要角色: 1. **目标(Target)**:定义客户使用的接口。在我们的例子中,`Target` 类提供了一个 `request` 方法。 2. **待适配者(Adaptee)**...

    Lenovo LX1815 USB蓝牙适配器驱动

    在提供的压缩包中,有一个名为“LINUX_DRIVER”的文件夹,可能包含了适用于不同Linux发行版的驱动源码或编译好的二进制文件。用户需要根据自己的Linux版本和内核进行适当的编译或安装,以确保蓝牙适配器能在Linux...

    超薄型65_W笔记本适配器_参考设计

    二、适配器的设计特色 1. 采用TOPSwitch-HX®系列的TOP261LN控制器,这种控制器集成了过压保护(OVP)、锁存关断和迟滞过载热保护等多种功能,为适配器提供了完备的保护。 2. 适配器设计极为紧凑,超低厚度为15.4...

    ABB总线适配器样本.pdf

    MODBUS-RTU是一种在串行通信中广泛应用的协议,它的RTU(Remote Terminal Unit)模式是基于二进制的通信方式。ABB提供了MODBUS-RTU总线适配器,可以连接到相应的设备,支持不同长度的电缆连接,从而实现数据的读写...

    母线适配器 [手册].pdf

    #### 二、产品型号及应用范围 根据给定的部分内容显示,母线适配器的产品型号包括但不限于: - **8US1011-4SL01** - **8US1211-4SL01** - **8US1211-4SL00** - **8US1011-4SB00** - **8US1211-4SB00** - **8US1291-4...

    Microsoft_LoopBack_Adapter_配置为系统的主网络适配器

    #### 二、问题背景 在安装 Oracle 10G 数据库软件时,可能会遇到一个名为 "Microsoft LoopBack Adapter 配置为系统的主网络适配器" 的先决条件检查。如果不满足这一条件,Oracle 安装程序可能会报错并拒绝继续安装...

    ORA-12560 TNS 协议适配器错误

    #### 二、原因分析 ORA-12560 TNS: 协议适配器错误可能由以下几个方面引起: 1. **监听服务未启动**:Oracle服务器上必须有一个监听器(Listener)来接收来自客户端的连接请求。如果监听器服务没有运行,则客户端...

    行业分类-设备装置-用于执行从第一适配器到第二适配器的失效转移操作的方法和系统.zip

    标题中的“行业分类-设备装置-用于执行从第一适配器到第二适配器的失效转移操作的方法和系统”指的是在信息技术领域,特别是设备管理和网络通信中,涉及到的一种故障转移技术。这种技术是为了确保系统的高可用性和...

    android listview常用适配器

    二、BaseAdapter的基本结构 1. getCount():返回ListView中item的数量,即数据源的大小。 2. getItem(int position):返回指定位置的数据对象,position从0开始。 3. getItemId(int position):返回指定位置的数据项...

Global site tag (gtag.js) - Google Analytics