Adapter Pattern

あるクラスのメソッドを再利用する
再利用されるクラスを修正したりはしない

Adapter Patternは以下の2つの方法があります
・再利用されるクラスをextendsしたクラスを利用する
・再利用されるクラスをインスタンス化して利用する

Design Pattarm MENU

再利用されるクラスをextends

以下のクラス構成で確認します

クラス 説明
sam.class 再利用されるクラス
adapt.class sam.classのsam()を、adapt.classのexec()でラップして再利用する
user(Main.class) Adapter Patternを使う
sam.class
class sam {
  void sam(){System.out.print("base");}
}
adapt.class
class adapt extends sam{
  void exec(){
       System.out.print("<<< ");    // A
       sam();                       // sam.classのsam()メソッド
       System.out.println(" >>>");} // A
}                                   // Aでsam()をラップしてます
user(Main.class)
public static void main(String[] args){
  adapt ad= new adapt();
  ad.exec();
}}

再利用されるクラスをインスタンス化

構成は上記と同じで、adapt.classを変更します

adapt.class
class adapt extends sam{
  sam s=new sam();
  void exec(){
       System.out.print("<<< ");
       s.sam();
       System.out.println(" >>>");}
}