`
hjp222
  • 浏览: 16794 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

单向适配器模式笔记

阅读更多
package com.donnie;
/*有两个模块本来没有任何关系,但是应用中需
凡是以后A的对象调用了funA方法,一定要同
调用B的funB方法,怎么办?不能改变源代码*/
//如果将B接到A上用,这叫做单向适配器模式,注意分清主动方,和被动方,这里类A是主动方,B是被动方
//单向适配器模式的要点:继承方法
/*class A{
	public void funA(){
		System.out.println("a 方法");
	}
}
class B{
	public void funB(){
		System.out.print("b 方法");
	}
	
}
class SubA extends A{  //将A进行扩展,以后将SubA当成A用
	public void funA(){
	 super.funA();
	 B b=new B();
	 b.funB();
	}
	
}

public class Adapter {
public static void  main(String args[]){
	SubA sa=new SubA();
	sa.funA();
}
}*/
//----------------------------------
//假如被动方可能被切换,这样比较麻烦,为了方便,最好面向接口编程

class A{
	public void funA(){
		System.out.println("a 方法");
	}
}
interface IEM{   //定义一个接口,管理扩展模块(被动方)
	public abstract void extendFun();
}
class B implements IEM {
	public void extendFun(){
		System.out.print("b 方法");
	}
	
}
class C implements IEM{
	public void extendFun(){
		System.out.println("另一个方法");
	}
}
class SubA extends A{ //将A进行扩展,以后将SubA当成A用
	private IEM iem;  //完全面向接口编程,可以将IEM的任何实现类接入,Spring可以做
	public SubA(IEM iem){
		this.iem=iem;
	}
	public void funA(){
	 super.funA();  //假如这行去掉,就是有了功能替换的效果,假如不要A方法了,只用扩展功能的方法,就可以去掉这行
	 iem.extendFun();
	}
	
}

public class Adapter {
public static void  main(String args[]){
	//SubA sa=new SubA(new B()); 
	SubA sa=new SubA(new C());  //这样改下构造函数的参数就可以切换了,实现扩展功能的切换
	sa.funA();
}
}

 

分享到:
评论

相关推荐

    SPI 应用笔记

    ### SPI应用笔记知识点详解 #### 一、SPI总线接口简介 SPI(Serial Peripheral Interface)是一种广泛用于同步数据传输的接口标准,因其相对较高的传输速率和灵活的配置方式而受到青睐。尽管SPI已经成为事实上的...

    电子功用-同步整流电路

    在正负半周期内,MOSFET根据输入电压的极性适时导通或关断,实现电流的单向流动,从而完成整流过程。由于MOSFET的导通电阻远低于二极管的正向压降,因此可以减少整流过程中的电压损失,提高效率。 2. **优点**: -...

    xapp1052,xilinx pcie dma模式程序。

    PCIe(Peripheral Component Interconnect Express)是高速接口标准,用于连接计算机系统中的外部设备,如显卡、网络适配器等。而DMA(Direct Memory Access)模式则是一种允许外围设备直接访问系统内存,无需CPU...

    ice.rar_ICE_ICE 开发_ICE CORBA_corba_ice接口

    ICE支持多种通信模式,包括同步、异步、单向和事件驱动,可以根据应用需求选择最合适的通信方式。此外,ICE还提供了强大的安全特性,如身份验证、授权和加密,确保了分布式系统间的通信安全。 Ice.ppt很可能是一个...

    usb转串口驱动(通用)

    USB接口采用全双工通信,支持数据同时传输,而RS-232是一种单向或双向通信协议,速度较慢但应用广泛。USB转串口驱动包含一个微控制器,该控制器模拟了串行通信接口,使得USB设备能够与使用串行通信协议的硬件进行...

    行业分类-电子-AC电压转换电路的说明分析.rar

    2. 整流工作原理:利用二极管的单向导电性,将正弦波交流电压转化为单向脉动电压。 3. 滤波工作原理:电容滤波利用电容器储存和释放电荷,使电压趋于平滑;电感滤波利用电感器的感抗阻碍电流变化,减少电压脉动。 ...

    PCI-Express-Overview

    - **通信领域:** PCI Express在通信设备中的应用也非常广泛,如网络适配器、路由器等。 #### 五、PCI Express的高级特性 - **热插拔(Hot Plug):** 支持设备在不关闭系统的情况下进行插入和移除。 - **热替换...

    行业分类-电子-USB3.1%2BCtype%2Bto%2BAtype电缆的说明分析.rar

    它的尺寸较大,单向插入,但因其广泛的应用,仍被许多设备保留。 USB 3.1 C to A电缆是连接这两种接口的桥梁,使得拥有USB-C接口的新设备可以与传统的USB-A接口设备进行通信。这种电缆通常具备USB 3.1的高速传输...

    USB3.0资料

    2. **电源管理**:USB3.0支持更高的功率输出,允许设备在不使用额外适配器的情况下进行快速充电。同时,它引入了电源管理功能,如低功耗状态和选择性挂起,以节省能源。 3. **向下兼容**:USB3.0接口设计时考虑到了...

    pcie接口命名

    X4接口通常用于SSD固态硬盘,X8和X16则常见于高性能显卡和网卡,其中X16提供最大的带宽,理论上单向可以达到16GB/s,双工模式下更是翻倍。 "B面"的术语在PC硬件领域中并不常用,但根据描述,它指的是设备的面向接口...

    mac版串口调试工具

    它通过一对线(通常是RX和TX)进行单向或双向通信,传输速率较慢但足够稳定。在计算机硬件领域,串口常用于调试嵌入式系统、物联网设备、Arduino等硬件平台。 “mac版串口调试工具”正是针对Mac OS设计的一款软件,...

    清华同方高级维修工程师培训资料.pdf

    - **电源系统组成**:包括适配器、电池、电源管理芯片等。 - **电源需求**:CPU、内存、硬盘等不同组件对电源的要求。 - **电源上电时序**:电源开启时各个组件依次上电的过程。 - **开机电路**:控制笔记本电脑开机...

    双向电压转化芯片

    尽管文件描述的FXLP34是单向电压转换器,但基于题目要求,我们将重点放在双向电压转化芯片上,尤其是针对3.3V和5V之间的电压转换。 ### 双向电压转化芯片简介 双向电压转化芯片是一种专门设计用于在两个不同的电压...

    USB-C是什么接口 USB-C和USB有什么区别?.docx

    以往的USB接口大多数只支持单向供电,而USB-C则能够实现双向供电。这意味着设备在连接时不仅可以接收电源,也可以提供电源,例如,通过USB-C接口为其他设备充电。此外,USB-C还具备强大的供电能力,可以提供高达100W...

    行业资料-电子功用-充电器[3]的介绍分析.rar

    交流电首先通过整流桥将正负交替的电流变为单向电流,然后通过电容和电感组成的滤波电路去除电压波动,最后由稳压器确保输出电压稳定,适合设备使用。 二、充电器的类型 1. 适配器式充电器:最常见的充电器形式,...

    USB 3.0 Specification

    USB 3.0 接口可以提供最高900毫安的电流,比USB 2.0的500毫安有所增加,这使得外设无需额外电源就能运行,减轻了用户携带电源适配器的负担。 3. **双向数据传输**:不同于USB 2.0的单向数据通道,USB 3.0 使用了...

    直流稳压电源的原理与设计PPT学习教案.pptx

    整流电路的任务是将交流电压转换为单向的脉动直流电压,它通常包括半波整流、全波整流和桥式整流。半波整流电路只利用交流电的半个周期,因此输出电压的脉动较大,且有效值较低。全波整流电路则利用了交流电的整个...

    3 - USB Type-C Connectors and Cable Assemblies Compliance Docume

    3. **双向电源传输**:不同于之前的USB接口只能单向供电,USB Type-C支持最高100W的电力传输,双向供电意味着设备可以既是电源提供者也可以是电源接收者。 4. **可逆插拔**:USB Type-C的接口设计使得插头可以在不...

    开关电源的分类及应用.pdf

    例如,电脑、手机充电器以及许多家用电器的电源适配器都是基于AC/DC变换器构建的。AC/DC变换器根据电路接线方式的不同,可以是单向的“整流”或双向的“有源逆变”。在满足安全标准和电磁兼容(EMC)要求方面,AC/DC...

Global site tag (gtag.js) - Google Analytics