Conteúdo do Curso
Java OOP
Java OOP
Princípios da POO: Encapsulamento
Encapsulamento
Outro princípio fundamental da Programação Orientada a Objetos (POO). Provavelmente o princípio mais crucial, pois todo o paradigma POO depende dele. Você já se deparou com esse princípio neste capítulo ao definir campos e métodos como private
ou public
. Mas agora discutiremos esse princípio com mais detalhes.
Nota
Por favor, não confunda a palavra 'interface' (um modelo para criação, um padrão) com a Interface que estudaremos na próxima seção!
Modificadores de acesso
Modificadores de acesso são parte integrante do encapsulamento, então, mesmo já tendo discutido anteriormente, precisamos revisar este material. Abaixo está a definição de modificadores de acesso juntamente com uma tabela e uma breve descrição:
public
: Membros com o modificador de acessopublic
são acessíveis de qualquer lugar no código. Eles possuem o escopo mais amplo. Por exemplo, um métodopublic
pode ser chamado de qualquer classe;private
: Membros com o modificador de acessoprivate
são acessíveis apenas dentro da classe onde foram declarados. Eles não são visíveis para classes externas. Isso proporciona forte encapsulamento;protected
: Membros com o modificador de acessoprotected
são acessíveis dentro do mesmo pacote e por subclasses, mesmo que estejam em pacotes diferentes. Isso permite o compartilhamento controlado de informações;default (package-private): Se nenhum modificador de acesso for especificado, o membro é acessível apenas dentro do mesmo pacote. É o nível de acesso padrão.
Vamos ver como os modificadores de acesso funcionam na prática. Existem duas classes: uma criada no mesmo pacote da classe main
e outra criada em um pacote diferente. Vamos ver como os modificadores de acesso afetam isso:
Nas capturas de tela, você pode ver de onde as variáveis com os nomes correspondentes são acessíveis.
Também lembro que, se quiser contornar os modificadores de acesso, você pode ler sobre isso aqui: link.
Nota
Também vale mencionar que métodos também podem ter modificadores de acesso. Eles funcionam da mesma forma que com os campos. Por exemplo, um método com modificador de acesso private só será acessível na classe onde foi criado.
Resumo
O encapsulamento é muito útil quando os dados precisam ser organizados em compartimentos, tornando o código altamente estruturado. Além disso, graças ao encapsulamento, é possível configurar onde e como seus campos e métodos podem ser acessados.
1. O que é encapsulamento em Java?
2. Qual modificador de acesso é o mais restritivo?
3. Quais são os benefícios da encapsulação?
4. Quais das seguintes afirmações sobre encapsulamento são verdadeiras?
Obrigado pelo seu feedback!