quarta-feira, 1 de junho de 2011

O por que do uso do encapsulamento em Java

Nas aulas da grande maioria dos cursinhos de Java, ouvimos sempre o professor dizer:
“Gente você tem que proteger as variáveis, gente tem que encapsular as variáveis”
E assim quando surge a pergunta
- Professor por que devemos proteger as varáveis?
Muitos professores desconversam é outros fazem de conta que não ouviram.
Então vamos trabalhar juntos nos próximos post’s para descobrir o segredo da exploração de variáveis.
Não com o intuito de utilizar as informações aqui postadas para o lado negro da força, mais para ter uma idéia do porque devemos utilizar os conceitos práticos da POO(Programação Orientada a Objeto).
E deixar e lado a POG(Programação Orientada a Gambiarra).
E antes que vocês comecem a me fazer a mesma pergunta vamos ao que importa.

O WebCream é um produto que converte aplicações AWT e Java Swing em site HTML iterativos. Ele faz isso emulando um ambiente gráfico para aplicação GUI, executando no lado do servidor e capturando e convertendo a janela atualmente em foco em uma página HTML.
Para gerar o HTML, o WebCream intera por todos os containers e tenta simular layouts java com tabelas HTML. Um dos layouts que o Webcream precisa suportar é borderLayout. Para um container com BorderLayout, o módulo de rederização de html precisa saber qual componente filho foi adicionado à seção South, à seção North, e assim por diante. O BorderLayout armazena essas informações nas variáveis-membro south, north e assim por diante. Ele tem até um método getChild( ) que pode ser utilizado para obter o componente. O problema é que as variáveis são declaradas com visibilidade de pacote e o método getChild é declarado como privado. Para a ausência de acesso público aos componentes secundários de BorderLayout, os engenheiros da WebCream tiveram de contar com as técnicas de haking.
Um breve relato do uso de aplicativo para exploração de componentes Java.
No próximo post explicarei como funciona realmente no contexto descrito assima.