Patrón (plantilla) de delegación: veamos el ejemplo más simple. Hay una clase
А
con algún método f
. Una clase А
es una clase interna y no estática de una clase 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");
}
}
}
Luego imprimiremos en la consola lo que hace el método f
. main
Para hacer esto, cree un objeto de clase en el método А
y llame al método f
. Ahora creemos la clase B
. Necesitamos que haga lo mismo que la clase А
, pero no duplicaremos el código y tampoco usaremos herencia, sino que en la clase В
crearemos un objeto de la clase А
, y luego В
llamaremos al método de la clase en el método de la clase А
.
class B{
A a = new A();
void f(){
a.f();
}
}
Una clase В
delega la ejecución de algunas tareas a otra clase. В
en este caso clase А
.
GO TO FULL VERSION