Encapsulamento

Tal como na vida real em que a maioria de nós não sabe que uma lâmpada de halogéneo contém no seu interior um filamento de tungsténico selado num invólucro compacto e transparente, cheio com um gás inerte, como por exemplo o bromo, também aos objectos não interessa saber a forma como outros objectos são construídos.
Por encapsulamento consideramos o processo de manter como privada a estrutura interna dos nossos objectos. Não se trata de esconder o código que constituí as nossas classes de outros programadores, trata-se sim, de não dar acesso aos estados internos do objecto a outros objectos diferentes.
O encapsulamento é conseguido através dos modificadores de acesso private, protected, default e public. Estes modificadores, do mais restrito para o mais permissivo, permitem restringir o acesso ao comportamento ou característica no qual são aplicados.

Assim, objectos que não possuam relações de herança só podem comunicar através de métodos públicos, quando existem relações de herança, é possível aos descendentes acederem aos métodos e atributos protegidos. Elementos definidos como privados apenas podem ser acedidos pelo próprio objecto.


O encapsulamento tem também o efeito de impedir que um programador mais preguiçoso baseie a sua implementação no conhecimento que tem de outro objecto, isto porque é possível, com um bom esquema de encapsulamento, definir apenas o comportamento importante para o exterior como visível e esconder outros pormenores que não sejam tão importantes. Iremos ver um exemplo desta situação quando aplicarmos POO ao Java na secção seguinte.

0 comentários:

Enviar um comentário