适配器模式

转载 2013年12月02日 17:07:50

出处:http://blog.csdn.net/a107494639/article/details/7567678

这里说两种适配器模式

1.类适配模式

在地球时代,所有坐骑都是只能跑,不能飞的,而现在很多坐骑在地球都可以飞了。假设,地球时代的坐骑只能跑,而现在的坐骑不仅能飞还能跑,我们可以用类适配模式来实现,要点是,适配器继承源类,实现目标接口:


[java] view plaincopy
  1. package adapter;  
  2.   
  3. /** 
  4.  * DOC 源 
  5.  *  
  6.  */  
  7. public class Sources {  
  8.   
  9.     public void run() {  
  10.         System.out.println("run");  
  11.     }  
  12.   
  13. }  

[java] view plaincopy
  1. package adapter;  
  2.   
  3. /** 
  4.  * DOC 目标接口 
  5.  *  
  6.  */  
  7. public interface ITarget {  
  8.   
  9.     public void run();  
  10.   
  11.     public void fly();  
  12. }  

[java] view plaincopy
  1. package adapter;  
  2.   
  3. /** 
  4.  * DOC 继承源类,实现目标接口,从而实现类到接口的适配 
  5.  *  
  6.  */  
  7. public class Adapter extends Sources implements ITarget {  
  8.   
  9.     @Override  
  10.     public void fly() {  
  11.         System.out.println("fly");  
  12.     }  
  13.   
  14. }  

2.对象适配模式

假设一个适配器要适配多个对象,可以将这些对象引入到适配器里,然后通过调用这些对象的方法即可:

[java] view plaincopy
  1. package adapter;  
  2.   
  3. /** 
  4.  *  
  5.  * DOC 源对象,只有跑的功能 
  6.  *  
  7.  */  
  8. public class Animal {  
  9.   
  10.     public void run() {  
  11.         System.out.println("run");  
  12.     }  
  13. }  

[java] view plaincopy
  1. package adapter;  
  2.   
  3. /** 
  4.  * DOC 目标接口,既能跑,又能飞 
  5.  *  
  6.  */  
  7. public interface ITarget {  
  8.   
  9.     public void run();  
  10.   
  11.     public void fly();  
  12. }  

[java] view plaincopy
  1. package adapter;  
  2.   
  3. /** 
  4.  * DOC 通过构造函数引入了源对象,并实现了目标的方法 
  5.  *  
  6.  */  
  7. public class Adapter implements ITarget {  
  8.   
  9.     private Animal animal;  
  10.   
  11.     // private animal animal2....可以适配多个对象  
  12.   
  13.     public Adapter(Animal animal) {  
  14.         this.animal = animal;  
  15.     }  
  16.   
  17.     /** 
  18.      * DOC 拓展接口要求的新方法 
  19.      */  
  20.     public void fly() {  
  21.         System.out.println("fly");  
  22.     }  
  23.   
  24.     /** 
  25.      * DOC 使用源对象的方法 
  26.      */  
  27.     public void run() {  
  28.         this.animal.run();  
  29.     }  
  30.   
  31. }  

适配器模式Demo

  • 2017年06月05日 18:19
  • 19.46MB
  • 下载

适配器模式

  • 2012年06月26日 00:22
  • 135KB
  • 下载

一个示例让你明白适配器模式

本文讨论适配器模式。适配器模式是23中设计模式之一,它的主要作用是在新接口和老接口之间进行适配。它非常像我们出国旅行时带的电源转换器。为了举这个例子,我还特意去京东上搜了一下电源转换器,确实看到了很多...

第10章_适配器模式

  • 2012年09月27日 10:25
  • 1.31MB
  • 下载

Java设计模式透析之 —— 适配器(Adapter)

今天一大早,你的leader就匆匆忙忙跑过来找到你:“快,快,紧急任务!最近ChinaJoy马上就要开始了,老板要求提供一种直观的方式,可以查看到我们新上线的游戏中每个服的在线人数。” 你看了看日期,...

设计模式 适配器

  • 2016年11月28日 21:03
  • 304KB
  • 下载

适配器和外观模式

  • 2016年03月10日 09:20
  • 331KB
  • 下载

适配器模式----类适配和对象适配

From:http://blog.csdn.net/t12x3456/article/details/7664764 为什么需要适配器模式? 在软件系统中,由于应用环境的变化,常常需要...

对象适配器模式

  • 2017年01月06日 15:17
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:适配器模式
举报原因:
原因补充:

(最多只允许输入30个字)