quarta-feira, 24 de março de 2010

[Java] Usar encapsulamento para proteger dados


Como dito anteriormente, uma vantagem do encapsulamento é que ele protege o acesso direto aos atributos de uma instância fora da classe onde estes foram declarados. Esta proteção consiste em se usar modificadores de acesso mais restritivos sobre os atributos definidos na classe.

Tipos de modificadore de acesso:
  • Se um atributo, método, construtor ou uma classe for declarado public, ele poderá ser utilizado em qualquer lugar.
  • Se um atributo, método ou construtor for declarado private, ele só poderá ser utilizado (referenciado) na definição da classe onde o mesmo é definido.
  • Se um atributo, método ou construtor for declarado protected, ele só poderá ser utilizado no pacote onde o mesmo é definido ou na definição de uma subclasse da classe onde o mesmo é definido.
  • Se um atributo, método, construtor ou uma classe não for declarado com um dos qualificadores discutidos acima, ele só poderá ser utilizado no pacote onde o mesmo é definido.
Para visualizar melhor o acesso de dados veja a tabela abaixo:

Modificador/Acesso

própria classe

mesmo pacote

subclasse em outro pacote

todos restantes

public

SIM

SIM

SIM

SIM

protected

SIM

SIM

SIM

NÃO

default (sem modificador)

SIM

SIM

NÃO

NÃO

private

SIM

NÃO

NÃO

NÃO



Nenhum comentário:

Postar um comentário