O que é uma classe interna anônima?

Na programação de computador orientada a objetos, uma classe interna anônima é uma classe que é declarada dentro de um método, mas sem nome. Uma classe interna anônima possui várias restrições que o tornam diferente de uma classe normal, incluindo uma restrição ao escopo das variáveis ​​que pode acessar. Existem algumas situações muito específicas nas quais o uso de uma classe interna anônima pode tornar o código-fonte mais legível, mas é usado principalmente para ajudar a aplicar o encapsulamento onde a geração de classes separadas pode complicá-lo. Classes internas anônimas e classes internas em geral, ajudam a realizar o encapsulamento para objetos particularmente complexos. Em vez de ter que criar uma classe que depende de uma externa separada, unindo -as a expor artificialmente e potencialmente alguns dos componentes, uma classe interna anônima podeou seja, os dois juntos solidamente.

Em algumas linguagens de programação, uma classe interna anônima pode ajudar a superar as restrições de herança única. Se um objeto herdar de uma classe, mas precisar acessar outra, uma classe interna poderá ser gerada em tempo real e depois passada para os manipuladores apropriados. Essa técnica é comum com retornos de chamada e ouvintes de eventos. A única alternativa seria criar uma segunda classe inteira na qual apenas um ou dois métodos são substituídos.

Classes internas anônimas têm algumas restrições para evitar o encapsulamento de quebra e aplicar o escopo. A restrição primária é que uma classe interna anônima não pode acessar variáveis ​​do método em que reside, a menos que essas variáveis ​​sejam declaradas como final. Isso ocorre porque a classe interna pode continuar funcionando além da vida da classe e do método em que se anima. As variáveis ​​do embrulhoA aula seria destruída assim que sua vida terminasse, de modo que as referências que a classe interna mantinha se tornaria instantaneamente inválida. A única exceção a isso é uma variável final, porque existirá além da instância.

Um dos usos mais específicos para uma classe interna anônima é a proteção do código. Muitos idiomas OOP fornecem um mecanismo chamado reflexão. A reflexão permite que um programa disseca outra classe e veja quais são as variáveis ​​e métodos de seus membros, mas não o próprio código. Ao usar uma classe interna anônima, o conteúdo da classe interna é protegido da reflexão e o funcionamento interno da classe maior pode ser efetivamente oculto.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?