気ままなタンス*プログラミングなどのノートブック

プログラミングやRPGツクール、DTM、VOCALOIDについてのんびり書きます。

【Javaメモ】Adapterパターン

Adapterパターン




  • Targetクラスに変更を加えることなくインタフェースを変更する


  • インタフェースに互換性のないクラス同士を組み合わせる

修正することができないクラスUploadedMovieがあるとする。

class UploadedMovie {
  
  // 動画時間
  int movSecond;
  
  public int getMovSecond() {
    return this.movSecond;
  }
}

MovieSizeインタフェースを実装し、UploadedMovieを継承したAdapterMovieを記述。

interface MovieSize {
  public int getMovSize();
}
class AdapterMovie extends UploadedMovie implements MovieSize {
  public int getMovSize() {
    return this.getMovSecond();
  }
}