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

一、场景描述

创新互联建站是一家专业提供黄岩企业网站建设,专注与成都做网站、成都网站设计、H5网站设计、小程序制作等业务。10年已为黄岩众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

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

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

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

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

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

二、示例代码

接口:

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);
  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


当前标题:Java设计模式之Adapter适配器模式
文章转载:http://scyanting.com/article/jdjohs.html