デザインパターン - Adapter
【Adapterパターンとは】
強制的にインタフェースを変更させる。
【Adapterパターンのクラス図】
【Adapterパターンのメリット】
【サンプル】
Adaptee.java |
package adapter;
/**
* 被せられるクラス
*/
public class Adaptee {
public void method() {
System.out.println("私は再利用されるメソッドです。");
}
}
|
Adapter.java |
package adapter;
/**
* 被せるクラス
*/
public class Adapter extends Adaptee implements NewInterface{
@Override
public void target() {
super.method();
}
}
|
NewInterface.java |
package adapter;
// 適用したいインタフェース
public interface NewInterface {
public void target();
}
|
テストクラス |
package adapter;
public class AdapterPatternTest {
public static void main(String[] args) {
NewInterface newInterface = new Adapter();
newInterface.target();
}
}
|
テスト結果 |
私は再利用されるメソッドです。
|
※結果的に、NewInterfaceのtarget()を使って、
Adaptee.javaのmethod()が呼ばれ、再利用ができた。
↓↓上記の継承によるAdapter以外に委譲による方法↓↓
Adapter.java |
package adapter;
/**
* 被せるクラス
*/
public class Adapter implements NewInterface{
Adaptee adaptee;
public Adapter() {
this.adaptee = new Adaptee();
}
@Override
public void target() {
adaptee.method();
}
}
|