terça-feira, 3 de fevereiro de 2009

C# - Inner Class

Assim como o Java, o C# também nos permite trabalhar com o conceito de Classes Internas (Inner Class).

Inner Class são vantajosas vistas pelo lado de sua "relação especial" com a classe externa. Para traçarmos tal relação imagine que esteja criando uma classe e identifique no meio do percurso funcionalidades/eventos únicos e exclusivos dessa classe. Existem formas simples e rápidas de resolvermos esse problema (como por exemplo criar uma nova classe no projeto), porém uma forma "orientadamente" correta de se fazer seria utilizando as classes internas, organizando de forma mais clara a classe externa e o projeto em si.

Na prática vamos imaginar a seguinte situação: você está construindo a classe Aluno. Uma série de eventos são acionados por essa classe tendo em vista o período em que o aluno está na Faculdade. Esses eventos estão intimamente ligados a classe Aluno, podendo assim ser caracterizado como uma nova classe somente para tratamentos desses eventos. Mas, contudo, todavia, no entanto, entretanto... (hehe) esta classe de eventos não é uma entidade no contexto do projeto e sim apenas para o Aluno.

Vamos ao código: (Clique na imagem abaixo para ampliar)


Viu só como é simples? parece confuso no começo, mas depois tudo fica mais claro.

Para finalizar é notório que a classe de eventos não existe por sí só, ela é totalmente dependente da classe Aluno, podendo ser definida como um membro da classe externa.

Nenhum comentário: