注ヘッド最初のデザインパターンと外観モードアダプタモード、7-

  アダプタモード:クラスのインタフェースは、顧客の期待に別のインターフェースに変換されます。元インターフェイスは、クラスと互換性がありませんように、アダプタがシームレスに共同作業をすることができます。

  このモデルは、インタフェース変換アダプタを介して作成することができるので、非互換インタフェースは、互換性になります。これは、顧客がインターフェースの実装から分離することができます。、一定期間の後、我々はインターフェイスを変更したい場合は、アダプターは、パッケージの一部を変更することができ、顧客は異なるインタフェースと各変更のフォローに対処する必要はありません。

 

 

 

 

   アヒル

/ ** 
 * @author オイ
 5月8日午前3時45分05秒の* @date 2019インディアン9午後
 * @version 1.0.0
  * / 
パブリック インターフェイスダック{
     公共 ボイドいんちき();
     公共 ボイドはフライ(); 
}

  七面鳥

パブリック インターフェーストルコ{
     // トルコだけ飲み込んであろう、croakしないであろう
    公共 ボイド飲み込んを();
     // 七面鳥が飛ぶ、遠くだけフライ
    公共 ボイド(フライ); 
}

  ワイルドターキー

パブリック クラスワイルドターキーは実装トルコ{ 
    @Override 
    公共 ボイド(){ガツガツ食べるに
        するSystem.out.printlnは(「ガツガツ食べるガツガツ食べます...」); 
    } 
    @Override 
    公共 ボイドは(){フライ
        のSystem.out.println(「私は短距離飛行です」)。
    } 
}

  TurkeyAdapter

/ ** 
 *七面鳥を梱包、それはアヒルのように見えます
 * @author オイを
 5月8日の* @date 2019インディアン9日の午後3時53分40秒
 * @version 1.0.0
  * / 
パブリック クラス TurkeyAdapter 実装のダック{ 
    七面鳥七面鳥、
    
    公共TurkeyAdapter(トルコトルコ){
         この .turkey = トルコ; 
    } 

    @Override 
    公共 ボイドいんちき(){ 
        turkey.gobble(); 
    } 

    @Override 
    公共 ボイドフライ(){ 
        turkey.fly(); 
    } 
}

 

   テスト:

パブリック 静的 ボイドメイン(文字列[]引数){ 
    TurkeyAdapter trukeyAdapter = 新しい TurkeyAdapter(新しいワイルドターキー())。
    trukeyAdapter.quack(); 
    trukeyAdapter.fly(); 
}

 

おすすめ

転載: www.cnblogs.com/xy-ouyang/p/11486864.html