委托模式(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