`
hjp222
  • 浏览: 16727 次
  • 性别: 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设计的一款软件,...

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

    USB-C接口还支持双向电力传输,不再像旧的USB接口那样只能单向供电。这意味着设备可以既是电源接收器也是电源提供者,例如,可以通过USB-C接口为其他设备充电。此外,USB-C的供电能力强大,能够提供最大100W的电力,...

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

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

    双向电压转化芯片

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

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

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

    USB 3.0 Specification

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

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

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

    精品(2021-2022年)资料门禁高级教程第八章高级原理知识高级经验技能.docx

    - 笔记本电脑通常不配备串口,可通过USB转串口适配器实现连接。 - 常用引脚:2号引脚(RxD,接收数据)、3号引脚(TxD,发送数据)和5号引脚(GND,地线)。 ##### RS485通讯原理 - **发展背景**:RS485是为了...

    UCC3918热插拔芯片

    此外,它还具备快速过载保护机制,单向开关设计,以及最小化的外部组件需求,使其在高密度电路板设计中占据优势。当处于禁用状态时,其静态电流(ICC)仅为1μA,展现了卓越的节能特性。 #### 二、关键特性与功能 ...

Global site tag (gtag.js) - Google Analytics