Padrão (Modelo) de Delegação - vejamos o exemplo mais simples. Existe uma classe
А
com algum método f
. Uma classe А
é uma classe interna e não estática de uma classe 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");
}
}
}
Em seguida, imprimiremos no console o que o método faz f
. main
Para fazer isso, crie um objeto de classe no método А
e chame o método f
. Agora vamos criar a classe B
. Precisamos que ele faça o mesmo que a classe А
, mas não duplicaremos o código e também não usaremos herança, mas na classe В
criaremos um objeto da classe А
e depois В
chamaremos o método da classe no método da classe А
.
class B{
A a = new A();
void f(){
a.f();
}
}
Uma classe В
delega a execução de algumas tarefas para outra classe. В
neste caso classe А
.
GO TO FULL VERSION