程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java設計模式之適配器模式簡介

Java設計模式之適配器模式簡介

編輯:JAVA編程入門知識

本文舉例說明兩種適配器模式,即類適配模式和對象適配模式,詳情如下:

1.類適配模式:

舉個例子來說明:在地球時代,所有坐騎都是只能跑,不能飛的,而現在很多坐騎在地球都可以飛了。假設,地球時代的坐騎只能跑,而現在的坐騎不僅能飛還能跑,我們可以用類適配模式來實現。
這裡需要注意的是,適配器繼承源類,實現目標接口。
示例代碼如下:

package adapter;

/**
 * DOC 源
 * 
 */
public class Sources {

  public void run() {
    System.out.println("run");
  }

}

package adapter;

/**
 * DOC 目標接口
 * 
 */
public interface ITarget {

  public void run();

  public void fly();
}

package adapter;

/**
 * DOC 繼承源類,實現目標接口,從而實現類到接口的適配
 * 
 */
public class Adapter extends Sources implements ITarget {

  @Override
  public void fly() {
    System.out.println("fly");
  }

}

2.對象適配模式:

假設一個適配器要適配多個對象,可以將這些對象引入到適配器裡,然後通過調用這些對象的方法即可。

實現代碼如下::

package adapter;

/**
 * 
 * DOC 源對象,只有跑的功能
 * 
 */
public class Animal {

  public void run() {
    System.out.println("run");
  }
}

package adapter;

/**
 * DOC 目標接口,既能跑,又能飛
 * 
 */
public interface ITarget {

  public void run();

  public void fly();
}

package adapter;

/**
 * DOC 通過構造函數引入了源對象,並實現了目標的方法
 * 
 */
public class Adapter implements ITarget {

  private Animal animal;

  // private animal animal2....可以適配多個對象

  public Adapter(Animal animal) {
    this.animal = animal;
  }

  /**
   * DOC 拓展接口要求的新方法
   */
  public void fly() {
    System.out.println("fly");
  }

  /**
   * DOC 使用源對象的方法
   */
  public void run() {
    this.animal.run();
  }

}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved