| AnteriorClasse / Instância | POO - encapsulação dos dados | PróximoHerança |
Encapsulação é um mecanismo que consiste em reunir os dados e os métodos numa estrutura escondendo a implementação do objecto, ou seja, impedindo o acesso aos dados por um meio diferente dos serviços propostos. A encapsulação permite por conseguinte garantir a integridade dos dados contidos no objecto.
O utilizador de uma classe não tem necessariamente de saber como estão estruturados os dados no objecto, isto significa que um utilizador não tem de conhecer a aplicação. Assim, proibindo o utilizador de alterar directamente os atributos, e obrigando-o a utilizar as funções definidas para alterá-los (chamadas interfaces), podemos garantir a integridade dos dados (poderá por exemplo garantir que o tipo dos dados fornecido está conforme ao desejado, ou ainda que os dados se encontram no intervalo esperado).
A encapsulação permite definir níveis de visibilidade dos elementos da classe. Estes níveis de visibilidade definem os direitos de acesso aos dados conforme se aceda por um método da própria classe , de uma classe herdeira, ou de uma classe qualquer. Existem três níveis de visibilidade: