quarta-feira, 23 de novembro de 2016

[JAVA] Encapsulamento | Modificadores de acesso


Fala galera!

Em uma das noites de desenvolvimento, me peguei pensando: "Por que não fazer um post falando um pouco sobre encapsulamento?". Para quem está iniciando na área de programação ou até mesmo quem já está um tempinho na área, pode acontecer de ter uma dúvida de como funciona ou quando utilizar. Então nesse post, vou tentar passar o que tenho de conhecimento e mais uma boa parte de pesquisas. Vamos lá!



Afinal, o que é encapsulamento? 


É um dos principais conceitos da orientação a objetos. Seu objetivo é organizar os dados relacionados, formando grupos em objetos(classes). Assim, mantém a legibilidade de um programa com milhares de linhas e também o torna fácil de trabalhar e fazer manutenções. Entende-se também por encapsulamento, a proteção da integridade da classe escondendo informações e disponibilizando somente o preciso para usar a classe. Mas lembre-se, para manter a qualidade do projeto, é necessário ter o baixo acoplamento entre as classes e o encapsulamento ajuda a manter esta característica.

Modificadores de acesso


Como o nome diz, os modificadores de acesso são utilizados para os componentes da aplicação acessíveis ou não por outras partes. Além disso, são divididos em dois níveis no encapsulamento:
  • Nível de classe: public ou package-private (default);
  • Nível de membro: public, private, protected ou package-private (default).

public

Talvez ao ler a palavra public, claramente você pensou em público. E esse é, vamos dizer assim, a ideia desse modificador. Permite que qualquer componente da classe seja acessada por outra.

protected

Esse modificador já é um pouco mais restritivo. Os componentes da classe que são protected, podem ser acessados por classes/interfaces que estão no mesmo pacote. Em caso de classes derivadas, pode ser acessado mesmo estando em pacotes diferentes.

package-private (default)

Quando não definimos um modificador de acesso a um componente, ele assume o modificador package-private (default/padrão). Neste caso, os componentes da classe só podem ser acessadas por outras que estão no mesmo pacote independente se a classe é derivada ou não.

private

O modificador private só permite que o componente seja visível somente pela própria classe. Dessa forma, podem existir classes no mesmo pacote ou em outros, podendo ser classes derivadas ou não, tudo que estiver com o modificador private não estará acessível.


Bom galera, espero que tenham curtido mais esse post. Encapsulamento é algo importante para se aprender, pois é fundamental para linguagens baseadas no paradigma da orientação a objetos.

Até mais!

;)

Fonte: 
            TI Expert
             Equipe.nce.ufrj.br
            High5Devs
Renan Rodrigues Ramos Desenvolvedor

Sou desenvolvedor, amo desenvolvimento de software, músico e apaixonado por filmes e seriados.