자바 디자인 모드 의 Adapter 어댑터 모드

장면 설명
'기기 데이터 수집 기'는 데이터 수집 과 서버 에 데 이 터 를 보 내 는 두 가지 행 위 를 포함 하고'기기 데이터 수집 기'인 터 페 이 스 를 정의 할 수 있 으 며'데이터 수집 캡 처'와'데이터 전송 sendData'두 가지 방법 을 정의 할 수 있다.
'PDF 파일 데이터 수집 기'가 실 현 될 때'기기 데이터 수집 기'인 터 페 이 스 를 실현 하고'데이터 수집'방법 을 실현 해 야 한다.현재'PDF 파일 내용 분석 도구'클래스 PdfFileExtractor 가 있 습 니 다.이 클래스 는 PDF 파일 의 데이터 분석 을 실현 합 니 다.따라서'PDF 파일 데이터 수집 기'가'PDF 파일 내용 분석 도구'클래스 를 계승 하고'기기 데이터 수집 기'인 터 페 이 스 를 실현 할 수 있 습 니 다.아래 그림 과 같 습 니 다.

어댑터 의 역할 은 기 존의 종 류 를 계승 하여 인 터 페 이 스 를 실현 하여 그 용 도 를 확장 하 는 것 이다.
클래스 어댑터 계승 소스 류 는 하위 클래스 가 하나의 부모 클래스 만 계승 할 수 있 기 때문에 계승 되 는 소스 류 가 목표 인 터 페 이 스 를 실현 하 는 방법 은 다소 배합 정도 의 높 고 낮 음 이 라 고 할 수 있다.
2.예시 코드
인터페이스:

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

}

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기