Javaアダプターモード定義と使用例


本明細書の例は、Javaアダプターモードの定義と使用法を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
一つの種類のインターフェースをお客様が望む別のインターフェースに変換します。アダプターモードはもともとインターフェースが互換性がないので一緒に作業できないタイプが一緒に作業できます。
アダプターは全部で3つのキャラクターが含まれています。
1、目標:目標は一つのインターフェースで、このインターフェースはお客様が使いたいインターフェースです。
2、適応者:適合者は既に存在しているインターフェースまたは抽象類であり、このインターフェースまたは抽象類は適応が必要である。
3、アダプター:アダプターは目的インターフェースを実現し、適合者の参照が含まれているクラスです。すなわち適合者の指差は、適応者インターフェースと目標に適応することです。

package org.zhy.adapter;
/**
 *   
 * @author zhengyi
 *
 */
public interface ThreeElectricOutlet {
  //        
  public abstract void connectElectricCurrent();
}


package org.zhy.adapter;
/**
 *    
 * @author zhengyi
 *
 */
public class TreeElecricAdapter implements ThreeElectricOutlet {
  TwoElectricOutlet outlet;
  public TreeElecricAdapter(TwoElectricOutlet teo) {
    this.outlet=teo;
  }
  @Override
  public void connectElectricCurrent() {
    outlet.connectElectricCurrent();
  }
}


package org.zhy.adapter;
/**
 *     
 * @author zhengyi
 *
 */
public interface TwoElectricOutlet {
  //      
  public abstract void connectElectricCurrent();
}


package org.zhy.adapter;
public class Appliction {
  public static void main(String[] args) {
    ThreeElectricOutlet outlet; //        
    Wash wash=new Wash();
    outlet=wash;
    System.out.println("          ");
    outlet.connectElectricCurrent();
    Tv tv=new Tv();
    TreeElecricAdapter adapter=new TreeElecricAdapter(tv);
    outlet= adapter;
    System.out.println("          ");
    outlet.connectElectricCurrent();
  }
}


package org.zhy.adapter;
/**
 *    
 * @author zhengyi
 *
 */
public class Wash implements ThreeElectricOutlet {
  private String name;
  public Wash() {
    name="   ";
  }
  public Wash(String name){
    this.name=name;
  }
  @Override
  public void connectElectricCurrent() {
    turnOn();
  }
  private void turnOn(){
    System.out.println(name+"     ");
  }
}


package org.zhy.adapter;
/**
 *   
 * @author zhengyi
 *
 */
public class Tv implements TwoElectricOutlet {
  private String name;
  public Tv() {
    name="     ";
  }
  public Tv(String s){
    this.name=s;
  }
  @Override
  public void connectElectricCurrent() {
    turnOn();
  }
  private void turnOn(){
    System.out.println(name+"      ");
  }
}

アダプターの適合度合い
1、完全に似合う
ターゲットインターフェース内の方法の数が、適応者インターフェースの方法の数と等しい場合、アダプターは、適応者インターフェースとターゲットインターフェースとを完全に適合させることができる。
2、完全には似合いません
ターゲットインターフェース内の方法の数が、適合者インターフェースの方法の数より少ない場合、アダプターは、適合者インターフェースとターゲットインターフェースとを適応させることしかできない。
3、残存適配
ターゲットインターフェースにおける方法の数が、適合されたインターフェースの方法の数よりも大きい場合。アダプターは、対象インターフェースと完全に適合することができるが、目的の余分な方法をユーザに提供してデフォルトの実装を許可する必要がある。
アダプターモードのメリット
1、目標と適合者は完全に結合された関係である。
2、アダプターモードが「オン・クローズの原則」を満たしています。Adapteeインターフェースを実現するための新しいタイプを追加すると、Adapteeを修正する必要がなく、Adapteeはこの新しいタイプのインスタンスを適応することができます。
もっと多くのjava関連の内容に興味がある読者は当駅のテーマを見ることができます。「Javaデータ構造とアルゴリズム教程」、「Java操作DOMノード技術のまとめ」、「Javaファイルとディレクトリの操作テクニックのまとめ」、「Javaキャッシュ操作テクニックのまとめ
本論文で述べたように、皆さんのjavaプログラムの設計に役に立ちます。