委託模式(Template)-讓我們來看一個最簡單的例子。有一個
А
帶有某種方法的類別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