`

结构模式之双向适配器模式

阅读更多
package com.eric.design.adapter;
//双向适配器模式
interface IAa{
	public void funA1();
	public void funA2();
}
class Aa implements IAa{
	public void funA1(){
		System.out.println("Aa:funA1");
	}
	public void funA2(){
		System.out.println("Aa:funA2");
	}
}
interface IBb{
	public void funB1();
	public void funB2();
}
class Bb implements IBb{
	public void funB1(){
		System.out.println("Bb:funB1");
	}
	public void funB2(){
		System.out.println("Bb:funB2");
	}
}
class AaBb implements IAa,IBb{//组合Aa和Bb,将AaBb当做Aa和Bb来使用
	IAa aa;
	IBb bb;
	public void setAa(IAa aa){
		this.aa = aa;
	}
	public void setBb(IBb bb){
		this.bb = bb;
	}
	//功能编写
	public void funA1(){
		aa.funA1();
		bb.funB1();
	}
	public void funB2(){
		bb.funB2();
		aa.funA2();
	}
	//重写其他功能,以免功能丢失
	public void funA2(){
		aa.funA2();
	}
	public void funB1(){
		bb.funB1();
	}
}
public class Adapter1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		AaBb aaBb = new AaBb();
		aaBb.setAa(new Aa());
		aaBb.setBb(new Bb());
		aaBb.funA1();
		aaBb.funB2();
	}

}

分享到:
评论

相关推荐

    结构型模式之适配器模式

    适配器模式是一种结构型设计模式,它的核心目的是在接口不兼容的情况下,使两个原本无法协同工作的对象能够一起工作。适配器模式通过创建一个转换器(适配器),将一个类的接口转换成客户期望的另一个接口。这种模式...

    实验7 适配器模式、外观模式与模板方法模式

    **适配器模式(Adapter Pattern)** 是一种结构型设计模式,它允许不兼容的接口之间能够协同工作。适配器模式的主要作用是通过创建一个新的适配器类来包装现有类的接口,使其满足客户端的接口需求。 ##### 实现案例:...

    实现一个适配器实例,使得猫(Cat)可以学狗(Dog)叫

    适配器模式是一种结构型设计模式,它的主要目的是解决两个不兼容的接口之间的交互问题。适配器将一个类的接口转换为客户期望的另一个接口,使原本由于接口不兼容而不能一起工作的那些类可以协同工作。在这个例子中...

    Python设计模式编程中Adapter适配器模式的使用实例

    在Python编程中,适配器模式是一种非常实用的设计模式,它允许不同的接口或类之间进行交互,即使它们的结构不兼容。适配器模式的主要目的是解决原有类的接口与现有需求之间的冲突,使得原本不能协作的类能够协同工作...

    java常用数据结构及算法集锦

    结构模式 代理模式 外观模式 适配器模式 装饰模式 组合模式 享元模式 桥接模式 行为模式 观察者模式 模板方法模式 策略模式 命令模式 调停者模式 备忘录模式 解释器模式 迭代器模式 状态模式 责任链模式 访问者...

    c#设计模式期末文档

    双向适配器模式是一种结构型设计模式,它允许不兼容的接口互相操作。在提供的代码示例中,`Adapter` 类实现了 `Target` 和 `Adaptee` 接口,使得原本不兼容的接口可以通过适配器进行通信。`Target` 是希望调用的...

    设计模式图示,帮助学习设计模式

    2. **结构模式**: - **外观模式(Facade)**:为子系统的一组接口提供一个一致的高层接口,使得子系统更容易被使用。 - **代理模式(Proxy)**:为其他对象提供代理以控制对该对象的访问,例如在访问前添加权限...

    设计模式2018.rar

    "SDP03-01之双向适配器.docx"则涉及结构型设计模式中的双向适配器,这种模式可以将两个接口转换为彼此兼容,使得原本不兼容的类可以协同工作。 "SDP03-07静态代理和动态代理.doc"涵盖了代理模式,代理模式为其他...

    设计模式实战、jdk源码|simple-demo.zip

    再如`java.util.ArrayList`和`java.util.LinkedList`,它们分别使用了动态数组和双向链表实现,体现了两种不同的数据结构,同时也展示了适配器模式和组合模式的概念。 在实战中,设计模式的应用无处不在。例如,当...

    Java和Android源码设计模式

    - **结构型模式**包括适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式和享元模式。这些模式关注于如何组合类或对象以获得更大的灵活性。 - **适配器模式**:将一个类的接口转换成客户希望的另一个...

    设计模式结构型模式

    适配器模式主要有三种形式:对象适配器、类适配器和双向适配器。适配器类作为转换器,将Adaptee的接口转换为客户期望的Target接口。对象适配器通过关联Adaptee,而类适配器则通过继承Target和Adaptee。适配器模式...

    UML类图及、7大设计原则、23种设计模式

    结构型模式涉及类或对象的组合,以形成更大的结构,例如适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式。行为型模式关注对象之间的通信,规定了对象的行为,包括策略模式、模板方法模式、...

    Java设计模式精讲1

    结构型模式涉及类和对象的组合,它能够帮助我们将不同的类和对象组合成更大的结构,如适配器、桥接、组合、装饰者、外观、享元和代理模式。行为型模式主要关注对象间的通信,通过模式使这些通信更加清晰和灵活,例如...

    CAN总线适配器

    - **网络拓扑结构**:支持线型、星型、树型等多种拓扑结构。 - **传输速率**:RS232/RS485/RS422支持1200至57600BPS,CAN总线支持5K至1MBPS。 - **传输介质**:采用屏蔽或非屏蔽双绞线作为物理层传输介质。 - **总线...

    23种设计模式23种设计模式

    - **注**:双链表模式并不是Gof书中提到的设计模式之一,这里可能是指双向链表的数据结构。 - **定义**:一种数据结构,其中每个节点包含指向前一个节点和后一个节点的指针。 - **应用场景**:适用于需要频繁地插入...

    初中级Android开发社招面试之设计模式.pdf

    - Android中的设计模式实例:AlertDialog和Notification使用建造者模式,Okhttp利用责任链模式,RxJava运用观察者模式,BaseActivity体现抽象工厂模式,GridView的适配器模式,Intent使用原型模式。 6. 单例模式:...

    基于LinkedList高性能android列表适配器

    LinkedList是一种双向链表数据结构,与ArrayList相比,它在插入和删除操作上具有更好的性能,但在随机访问元素时效率较低。 **1. Android列表控件:RecyclerView与ListView** - **RecyclerView**:是Android 5.0...

    设计模式+STL代码示例

    - **适配器模式**:使两个不兼容的接口能够协同工作,通过创建一个适配器类,将旧接口转换为新接口的形式。 2. **STL(标准模板库)**: - **容器**:STL中的容器如vector、list、deque、set、map等,它们提供了...

    设计模式解析复习提纲

    - **结构型模式**:包括适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式。 - **行为型模式**:包括职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式...

    常用的数据结构,算法,设计模式的积累。.zip

    6. 适配器模式:将一个类的接口转换成客户期望的另一个接口,使原本由于接口不兼容而不能一起工作的类能够协同工作。 7. 模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。 熟练掌握这些数据...

Global site tag (gtag.js) - Google Analytics