■メリット
提供したいインタフェースの機能に合わせて(Adapt)、
あるクラスをラップする形で作り替えたクラスを用意するだけで済む。
(あるクラスは変更不要)
■実装例(継承を利用したパターン)
/*User.java*/
public class User {
public static void main(String[] args) {
Adapter adp = new Adapter();
adp.method1();
}
}
/*ProvideInterface.java*/
//提供したい機能を定義したインタフェース
public interface ProvideInterface {
void method1();
}
/*ClassA.java*/
//元々のクラスに提供したい機能はない。
public class ClassA {
String motomoto() {
return "ClassA機能";
}
}
/*Adapter.java*/
//クラスAを利用して提供したい機能を作り出すAdapter
public class Adapter extends ClassA implements ProvideInterface{
ClassA classA = new ClassA();
public void method1() {
System.out.println(classA.motomoto());
}
}
最終更新:2021年07月08日 20:28