Encapsulamento
O conceito de encapsulamento está intimamente ligado ao conceito de ocultamento da nformação (information hiding).
Objectivo
-Controlar o acesso de atributos e métodos de um objeto, através de uma interface bem definida.
Benefícios
-Proteção dos dado;
-Manutencao do Software;
-Evolucacao do software;
Exemplo
Televisor.
O telespectador não precisa ter conhecimento técnico de como funciona cada parte do televisor, mas apenas saber qual e a sua finalidade e como usá-lo.
Abstracao de Dados e Encapsulamento
A programação orientada a objecto tem como principais actividades a criação de tipos e expressões de interacção entre objectos desses tipos.
Essa atividade está diretamente associada à noção de tipo abstrato de dados (ADT abstract data type), que melhora o processo de desenvolvimento de programas, pois permite mais flexibilidade ao programador na criação de novos tipos de dados.
O encapsulamento em Java é implementado através dos seus modificadores de acesso;
Um modificador de acesso determina como sera a visiblidade da classe, atributo e metodos a partir de outras classes ou metodos.
Modificador de Acesso em Java
Os modificadores (public, protected, private) são classificados como modificadores de acesso;
Private.
O modificador de acesso private é o mais restritivo de todos. Pode ser usado em atributos, métodos e construtores;
Protected.
Define que variáveis, métodos e construtores com esse modificador podem somente ser cessados por classes no mesmo pacote ou subclasses da classe onde o elemento foi definido.
O modificador protected pode ser aplicado somente em variáveis, métodos e construtores, o seu uso em classes não é permitido
Public.
Declara que elementos com esse modificador são acessíveis de qualquer classe Java. Este modificador é aplicável a variáveis, métodos,