委任のパターン (テンプレート) - 最も単純な例を見てみましょう。
А
何らかのメソッドを持つクラスがありますf
。クラスはА
、クラスの内部の非静的クラスですMy
。
public class My{
public static void main(String[]args){
My test = new My();
My.A a1 = test.new A();
a1.f();
My.B b = test.new B();
b.f();
}
class A{
void f(){
System.out.println("f");
}
}
}
次に、メソッドの動作をコンソールに出力しますf
。これを行うには、メソッド内でmain
クラス オブジェクトを作成しА
、メソッドを呼び出しますf
。次に、クラスを作成しましょうB
。クラスと同じことを行う必要がありますА
が、コードは複製せず、継承も使用しません。ただし、クラス内でВ
クラスのオブジェクトを作成しА
、В
クラスメソッド内でクラスメソッドを呼び出しますА
。
class B{
A a = new A();
void f(){
a.f();
}
}
クラスは、В
一部のタスクの実行を別のクラスに委任します。В
この場合、 クラスА
。
GO TO FULL VERSION