Encapsulamento
Explicando padrões de projeto: uma nova perspectiva em projeto orientado a OBJETO Por Alan Shalloway, JAMES TROT.
LIVRO
CONCEITOS DE LINGUAGEM DE PROGRAMAÇAO Por Robert W. Sebesta
LIVRO (pegar exemplo do elevador)
PROGRAMAÇAO ORIENTADA A OBJETOS COM JAVA 6 Por Roberto Rubinstein Serso
Livro
CERTIFICAÇAO JAVA 6, V.1 - A BIBLIA: TEORIA Por Roberto Rubinstein Serson
ENCAPSULAMENTO
Pode se dizer que é uma ocultação dos dados, ou posso classificar como uma habilidade de esconder qualquer coisa, mas, o que se pode mesmo dizer é, utilizado para conter uma ou varias variações em comportamento, como também implementações, classes derivadas, ou qualquer outra coisa.
É um agrupamento de subprogramas e dos dados também que eles manipulam, separados ou independentemente compilável, assim constitui um sistema abstraído e uma organização lógica relacionada à computação.
O encapsulamento inclui somente a representação de dados, de um tipo especifico de dado e os subprogramas que fornecem as operações quanto a esse tipo.
É um mecanismo pelo qual os detalhes da implementação dos métodos de uma classe são ocultados dos usuários da classe, tudo isto só é possível com os atributos private e disponibilizando os dados para uma visualização por meio de métodos get, que os dados são alterados e por meio de métodos set.
Uma previa de como o usuário não necessita saber como o programa funciona e sim a razão dele estar ali para servi-lo é bem obvia.
Exemplo: (retirado da internet)
Dois elevadores, um somente com uma polia e o outro com duas polias, o que é levado em questão real é a necessidade de se saber a única função do elevador, que é a de levar as pessoas ou cargas de um andar para o outros, como o processo ou procedimento é realizado, não faz a menor diferença para as pessoas.
Com isto, observando que se os acessos do elevador não estivessem privados, alguma pessoa mal intencionada, poderia alterar toda á