亲宝软件园·资讯

展开

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

马洪彪 人气:0
想了解Java设计模式之Adapter适配器模式的相关内容吗,马洪彪在本文为您仔细讲解Java适配器模式Adapter的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Java,适配器模式,Adapter,下面大家一起来学习吧。

一、场景描述

“仪器数据采集器”包含采集数据以及发送数据给服务器两行为,则可定义“仪器数据采集器”接口,定义两方法“采集数据capture”和“发送数据sendData”。

“PDF文件数据采集器”实现时,要实现“仪器数据采集器”接口,实现“采集数据”方法;目前有“PDF文件内容解析工具”类PdfFileExtractor,该类实现PDF文件的数据解析;因此,可使“PDF文件数据采集器”继承“PDF文件内容解析工具”类,并实现“仪器数据采集器”接口,如下图所示:

适配器的作用是,继承现有的类,通过实现接口,扩展其用途。

类适配器继承源类,由于子类仅能继承一个父类,因此被继承的源类实现目标接口的方法多少也可以算做适配程度的高低。

二、示例代码

接口:

package lims.designpatterndemo.adapterclassdemo;

public interface EquipmentDataCapture {
  public String capture(String filePath); 
  public boolean sendData(String equipmentData);
}

源类:

package lims.designpatterndemo.adapterclassdemo;

public class PdfFileExtractor {
  public String capture(String filePath){
    return "pdf file content";
  }
}

适配器类:

package lims.designpatterndemo.adapterclassdemo;

public class PdfFileCapture extends PdfFileExtractor implements EquipmentDataCapture {

  @Override
  public boolean sendData(String equipmentData) { 
    return false;
  }

}

调用示例:

package lims.designpatterndemo.adapterclassdemo;

public class ClassAdapterDemo {

  public static void main(String[] args) {
    PdfFileCapture capture = new PdfFileCapture();
    String fileContent = capture.capture("");
    System.out.println(fileContent);
    boolean rst = capture.sendData(fileContent);
    System.out.println(rst);
  }

}

加载全部内容

相关教程
猜你喜欢
用户评论