Encapsulamento
O princípio de esconder a estrutura de dados utilizada e somente prover uma interface bem definida é chamado de encapsulamento. [3]
Algumas definições comuns de encapsulamento:
1. Encapsulamento é o processo de esconder
todos os detalhes de um objeto que não contribuem para as suas
características essenciais. [6]
2. Encapsulamento é um princípio, utilizando
quando se está desenvolvendo a estrutura geral de um programa,
no qual cada componente de um programa deve encapsular ou
esconder cada decisão de projeto (...) A interface com cada
módulo é definida de forma a revelar o mínimo possível sobre
o seu funcionamento interno. [7]
3. O encapsulamento esconde detalhes de
implementação do objeto (métodos) e o que sobra visível é a
sua interface, isto é, o conjunto de todas as mensagens a que
ele pode responder. Uma vez que o objeto é encapsulado, seus
detalhes de implementação não são mais imediatamente
acessíveis. Ao invés disso, eles são empacotados e são
somente indiretamente acessíveis através da interface do
objeto. A única forma de acessar a um objeto encapsulado é
através da troca de mensagens: é enviada uma mensagem ao
objeto, o objeto mesmo seleciona o método pelo qual ele irá
reagir à mensagem.[4]
Podemos dizer portanto que os objetos possuem uma parte interna, os dados, que não podem ser acessados por outros objetos do sistema, e outra externa, os métodos, que permitem a alteração ou verificação de seu estado.
A rosquinha (donut) é uma representação gráfica clássica para objetos comumente encontrada na literatura. A idéia é que não se pode chegar a seu recheio (dados) sem passar por sua massa (métodos)
A única parte do objeto que o resto do sistema
precisa conhecer é sua interface.
Aula produzida por Leonardo Mendes Simão, Rafael de O. Valle dos Santos e Rafael Sabbagh Armony