`

10.适配器模式详解

 
阅读更多
和尚接口:
 public   interface  和尚   { 

 void  吃斋(); 

 void  打坐(); 

 void  练武(); 

 void  睡觉(); 

}  


作为适配器的抽象类 天星



 public   abstract   class  天星  implements  和尚   { 

 public   void  吃斋()   { 



}  

 public   void  打坐()   { 


}  

 public   void  睡觉()   { 


}  

 public   void  练武()   { 


}  


然后是具体实现 鲁智深
 public   class  鲁智深  extends  天星   { 


 public   void  练武()  { 


}  



1.适配器模式在这里应该是,鲁智深拥有和尚的所有功能如吃斋(),打坐(),但是练武这个功能对鲁智深和别的和尚不同,所以要单独配置。

2.使用一个已经存在的类,但如果它的接口,也就是它的方法和你的要求不相同时,就应该考虑用适配器模式
  两个类所做的事情相同或相似,但是具有不同的接口时要使用它

3.当客户类调用适配器的方法时,在适配器类的内部调用适配者类的方法,这个过程对客户类是透明的,客户类并不直接访问适配者类。因此,适配器可以使由于借口不兼容而不能交互的类可以一起工作(work together)。

4.当你实现某个接口,你必须实现它所有的方法。
如果这个接口有很多的方法,而你只需要关注其中的一个,在这种情况下,适配器就是一个最佳选择了。

5.适配器就好像一个转接器一样
有些参数可能不接受某些接口类型
这时使用适配器将这些接口,经过某些处理后实现另一接口类型,就可以接上去了

二、 /** */

/**   
* 源角色   
*/    
public class Adaptee {    
public int get220v(){    
return 220;    
}    
}   
  


/** */

/**   
* 目标角色   
*/    
public interface Target {    
int get110v();    
int get220v();    
}   


/** */
/**   
* 适配器角色:扩展源角色,实现目标角色,从而使得目标角色改动时候,不用改动源角色,只要改动适配器   
*/    
public class Adapter extends Adaptee implements Target{    
public int get110v(){    
return 110;    
}    
}   

 
/** */


/**   
* 客户端   
*/    
public class Client {    
public static void main(String rags[]) {    
new Client().test();    
}   
  
public void test() {    
Target target = new Adapter();    
int v1 = target.get110v();    
int v2 = target.get220v();    
}    
}  


适配器通过扩展源角色,同时实现目标接口,从而满足了同时提供220v,110v电压的要求。
JDK中体现:
(1)java.io.InputStreamReader(InputStream)
(2)java.io.OutputStreamWriter(OutputStream)

本文出自:
http://www.blogjava.net/toby/archive/2010/09/26/332939.html?opt=admin
另外一个比较形象的例子:
http://blog.csdn.net/zl3450341/article/details/6905635
http://www.cnblogs.com/forlina/archive/2011/06/27/2091105.html
分享到:
评论

相关推荐

    Java开发适配器模式详解

    ### Java开发适配器模式详解 #### 一、适配器模式概述 适配器模式(Adapter Pattern)是一种常用的设计模式,其主要目的是让两个不兼容的接口能够协同工作。通过引入一个适配器,可以将现有类的接口转换成客户端期望...

    Java 23种设计模式10适配器模式.pdf

    ### Java设计模式之适配器模式详解 #### 结构型模式概述 在软件工程领域,设计模式被视为一种标准解决方案,用于解决在特定上下文中经常出现的问题。设计模式按其目的和适用场景,大致可分为三种类型:创建型模式...

    C#设计模式编程中运用适配器模式结构实战演练

    适配器模式详解适配器模式(Adapter Pattern)是一种结构型设计模式,它的主要目的是在不修改原有类的基础上,通过适配器类使得原有类能适应新的接口或协议。适配器模式的核心思想是将两个原本不兼容的接口通过...

    Java设计模式之适配器模式

    ### Java设计模式之适配器模式详解 #### 引言 在软件开发中,我们经常遇到需要使用已有的类库,但这些类库的接口与我们的需求不匹配的情况。这时,适配器模式(Adapter Pattern)便能派上用场。适配器模式是一种...

    PHP设计模式(五)适配器模式Adapter实例详解【结构型】

    适配器模式(Adapter Pattern)是一种结构型设计模式,它主要解决的是接口不兼容的问题,使得原本由于接口差异无法一起工作的类能够协同工作。在PHP中,适配器模式通过创建一个包装类(适配器类)来转换不兼容的接口...

    适配器和代理模式详解

    ### 适配器模式详解 #### 一、适配器模式概述 适配器模式(Adapter Pattern)是一种结构型设计模式,它允许我们通过包装一个类的接口来使其外观匹配客户端所期望的接口。该模式使得原本接口不兼容的类能够协同工作...

    java 设计模式详解

    Java设计模式详解涵盖了在Java编程中广泛使用的一些经典设计模式。这些模式不仅有助于提高代码的可读性、可维护性和可扩展性,还能促进团队之间的沟通与协作。下面,我们将深入探讨几个重要的Java设计模式。 1. ...

    深入理解JavaScript系列(39):设计模式之适配器模式详解

    主要介绍了深入理解JavaScript系列(39):设计模式之适配器模式详解,适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),需要的朋友可以参考下

    适配器设计模式ppt

    适配器模式详解: * 被适配者:火鸡接口 * 客户:要使用鸭子对象的程序 * 适配器:把火鸡装扮成鸭子 * 目标接口:鸭子接口 * 两者无耦合,彼此不必知道对方的存在 现在,如果希望把鸭子包装成火鸡该怎么做?我们...

    Java适配器模式应用之电源适配器功能详解

    Java 适配器模式应用之电源适配器功能详解 Java 适配器模式是一种常用的设计模式,用于解决两个不兼容的对象之间的接口不兼容问题。在电源适配器的应用中,Java 适配器模式可以实现不同电压和频率的电源之间的转换...

    Java中23种设计模式详解

    Java 中 23 种设计模式详解 在软件设计中,设计模式是解决特定问题的通用解决方案。 Java 中有 23 种常见的设计模式,下面将对每种设计模式进行详细的解释: 1. 抽象工厂模式(Abstract Factory) 抽象工厂模式...

    C#学习笔记之适配器模式详解

    什么是适配器模式?  适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。  Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 什么时候运用适配器模式?  在想使用一个...

    JavaScript适配器模式详解

    JavaScript适配器模式详解 适配器模式是一种设计模式,其主要目的是解决系统中不同组件间的接口不兼容问题,使得原本无法直接协作的类或模块能够协同工作。它通过创建一个适配器类,将旧的接口转换为新的接口,从而...

    详解JavaScript实现设计模式中的适配器模式的方法_.docx

    适配器模式是一种软件设计模式,它允许不同的接口或类之间进行通信,即使它们的接口不兼容。在JavaScript中,适配器模式尤其有用,因为随着技术的发展,新的库和框架不断涌现,而旧的代码可能仍然依赖于特定的API或...

    设计模式适配器模式讲解

    ### 设计模式之适配器模式详解 #### 一、适配器模式概述 适配器模式(Adapter Pattern)是一种常用的软件设计模式,它属于结构型模式的一种。该模式的主要目的是解决不同接口之间的兼容性问题,使原本由于接口不...

    Python 程序语言设计模式思路-结构型模式:适配器模式-将不兼容的接口转换为可兼容的接口

    本文将探讨Python中的适配器模式,介绍其应用领域,提供代码实例及详解,并分析其优缺点,最终得出结论。适配器模式在以下几种场景中有广泛的应用: 1. 遗留系统整合:在需要将新系统与遗留系统整合时,适配器模式...

    JAVA常用设计模式详解大全.doc

    JAVA常用设计模式详解大全 在软件开发中,设计模式是指在软件设计中反复出现的问题解决方案,JAVA作为一门广泛应用的编程语言,设计模式在JAVA开发中扮演着重要角色。下面将对JAVA常用设计模式进行详细的介绍。 ...

    Android 适配器模式应用及设计原理

    适配器模式是软件设计模式的一种,其主要目的是解决接口不兼容的问题,使得原本因为接口差异而不能协作的类能够协同工作。在Android开发中,适配器模式扮演着非常关键的角色,尤其是在处理数据展示和用户交互方面。...

    Java开发中的23种设计模式详解

    6. 适配器模式:将一个类的接口转换成客户希望的另一个接口。 7. 装饰模式:动态地给一个对象添加一些额外的职责,保持接口不变。 三、行为型设计模式: 1. 责任链模式:避免将处理逻辑硬编码到对象中,使得多对象...

    详解Java适配器模式

    Java 适配器模式详解 Java 适配器模式是一种结构型设计模式,主要用来解决不同接口之间的不兼容问题。在软件开发中,经常会遇到两个不同的接口之间需要进行交互的情况,这时就需要使用适配器模式来解决问题。 ...

Global site tag (gtag.js) - Google Analytics