Pesquisar

quarta-feira, 23 de setembro de 2009

Aprendendo com seu IDE

Estou trabalhando em um projeto que utiliza Swing e o Netbeans. Ate aí nenhuma novidade... mas no decorrer da criação e do uso dos JComponents notei que o netbeans cria algumas coisas bizarras e outras legais... Tudo pra deixar o usuário (eu) feliz com as pedras no sapato da JTable. Bem o interessante não é nada disso... vou ao exemplo que facilitará.

Suponha que você tenha uma classe:

public class ClasseA{
public void fazNada(){
System.out.println("nada");
}
}

E uma classe de teste:

public class TestClasseA{
public static void main(String[] args){
ClasseA a = new ClasseA();

a.fazNada();

}

}



O resultado será simples um nada
Bem e se eu quisesse alterar o comportamento do método fazNada... normalmente o que as pessoas fazem é (além de seguir um dos Patterns do GOF... esqueci o nome :S ) criar uma outra classe herdando da ClasseA e sobreescrevendo o comportamento para o método fazNada.

O que notei que o netbeans faz é o seguinte:



public class TestClasseA{
public static void main(String[] args){
ClasseA a = new ClasseA(){
public void fazNada(){
System.out.println("tudo");
}

};

a.fazNada();

}

}

Isso mesmo sobreescrevendo-a na própria "instanciação"... a essa técnica, ou jeito, penso que o nome correto é classe anónima... (já vi vários usos para classes anónimas, mas esse foi novo.)

Nenhum comentário: