segunda-feira, 26 de maio de 2014

Modificadores de acesso

Em um programa podemos desejar que as classes de um pacote não possam ser acessadas pelas classes de outro, ou então que determinada variável fique restrita somente ao escopo da sua classe. Para definir este tipo de acesso é que usamos os modificadores de acesso.
Neste caso, escopo é o limite da existência da classe. É a parte do código que inicia após a abertura das chaves e termina no seu fechamento.

Os modificadores servem para definir que tipos de acesso terão as classes e seus membros.

Níveis de acesso são conhecidos por public, private, protected e default. E os modificadores são apenas três: public, private, protected. O nível de acesso default (padrão) não exige modificador. Quando não se declara nenhum modificador, o nível default é implícito.

- Public: Esse é o modificador menos restritivo. Permite visibilidade global;
- Private: Esse é o modificador mais restritivo. Permite visibilidade apenas na própria classe;
- Default: Nível default é o mesmo que nível de pacote. Permite visibilidade dentro do pacote. Não exige um modificador explícito;
- Protected: Esse é como o default, porém permite visibilidade global através de herança. Parece confuso a primeira vista, mas analisaremos como funciona em detalhes mais adiante.

As classes só aceitam dois modificadores: default e public. A classe pode estar acessível no nível de pacote ou globalmente. Ou seja não existem classes isoladas.

A visibilidade entre classes é que determina se podemos ou não:
- Estender outra classe;
- Criar instâncias de outra classe;
- Acessar membros de outra classe.

O modificador private é o contrário do public. Com ele o acesso é o mais restrito possível. Membros declarados como private só podem ser acessados por membros da sua própria classe. Eles não podem ser acessados nem por classes do mesmo pacote.

Nenhum comentário:

Postar um comentário