Encapsulamento (informática): diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
Linha 7:
Uma grande vantagem do encapsulamento é que toda parte encapsulada pode ser modificada sem que os usuários da classe em questão sejam afetados. No exemplo do liquidificador, um técnico poderia substituir o motor do equipamento por um outro totalmente diferente, sem que a dona de casa seja afetada - afinal, ela continuará somente tendo que pressionar o botão.
O encapsulamento protege o acesso direto (referência) aos [[Atributo (programação)|atributos]] de uma [[Instância (classe)|instância]] fora da [[classe (programação)|classe]] onde estes foram declarados. Esta proteção consiste em se usar modificadores de acesso mais restritivos sobre os atributos definidos na
<gallery>
{| class="wikitable sortable"
|-
! Texto do cabeçalho !! Texto do cabeçalho !! Texto do cabeçalho
|-
| Exemplo || Exemplo || Exemplo
|-
| Exemplo || Exemplo || Exemplo
|-
| Exemplo || Exemplo || Exemplo
|}
</gallery>
se. Depois devem ser criados métodos para manipular de forma indireta os atributos da classe.
Encapsular atributos também auxilia a garantir que o estado e o comportamento de um objeto se mantenha coeso. Por exemplo, no caso da classe <code>Semaforo</code> poderiamos ter um método de acesso chamado <code>lerCor()</code>, e um modificador chamado <code>proximaCor()</code>. O estado é mantido pois os usuários da classe não podem alterar as cores de um semáforo ao seu bel prazer e, por exemplo, fazer a seguinte troca de cores: vermelho-amarelo-vermelho. É comum usar o padrão get<nomeDoAtributo> para o método que retorna o valor atual do atributo e set<nomeDoAtributo> para o método que modifica o valor de um atributo do objeto, como no exemplo abaixo: <code>setComProtecao</code> e <code>getComProtecao</code>.
|