Java设计模式之:适配器模式

开发 后端
在地球时代,所有坐骑都是只能跑,不能飞的,而现在很多坐骑在地球都可以飞了。假设,地球时代的坐骑只能跑,而现在的坐骑不仅能飞还能跑,我们可以用类适配模式来实现。详细请看下文

这里说两种适配器模式

1、类适配模式

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

  1. package adapter;  
  2.  
  3. /**  
  4.  * DOC 源  
  5.  *   
  6.  */ 
  7. public class Sources {  
  8.     public void run() {  
  9.         System.out.println("run");  
  10.     }  
  1. package adapter;  
  2.  
  3. /**  
  4.  * DOC 目标接口  
  5.  *   
  6.  */ 
  7. public interface ITarget {  
  8.     public void run();  
  9.     public void fly();  
  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.     }  

2、对象适配模式

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

  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.     }  
  1. package adapter;  
  2.  
  3. /**  
  4.  * DOC 目标接口,既能跑,又能飞  
  5.  *   
  6.  */ 
  7. public interface ITarget {  
  8.     public void run();  
  9.     public void fly();  
  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.     }  

原文链接:http://blog.csdn.net/a107494639/article/details/7567678

【编辑推荐】

  1. Java设计模式之:创建者模式
  2. Java数据结构:栈的实现
  3. Java protobuf框架使用向导
  4. Java端通过CXF调用.NET端服务
  5. Java线程池的原理及几类线程池的介绍
责任编辑:林师授 来源: a107494639的博客
相关推荐

2021-02-18 08:39:28

设计模式场景

2020-10-25 08:56:21

适配器模式

2013-11-26 16:39:21

Android设计模式

2012-04-12 09:33:02

JavaScript

2022-02-13 23:33:24

设计模式Java

2022-02-18 17:21:29

适配器模式客户端

2024-02-22 12:13:49

适配器模式代码

2021-08-16 17:15:19

设计模式Android适配器模式

2012-08-02 10:46:34

JavaAdapter模式

2013-02-26 10:55:47

C#适配器设计模式

2024-04-10 12:27:43

Python设计模式开发

2022-12-12 09:20:59

适配器模式接口

2009-11-18 18:08:20

PHP适配器模式

2022-05-29 22:55:00

适配器设计模式

2021-02-16 08:16:09

适配器模式MybatisJava

2023-08-15 11:07:37

适配器模式TypeScript

2014-07-17 10:55:10

Win8.1应用开发适配器模式

2023-09-06 13:20:00

适配器模式兼容性

2022-03-28 08:21:49

适配器模式项目升级接口

2023-02-06 08:54:59

Go设计模式项目
点赞
收藏

51CTO技术栈公众号