👩‍💻 Objetivo:

Aprender a usar Encapsulamento, utilizando métodos de acesso como public, protected, private e Getters e Setters. Com isso no futuro conseguiremos entender Herança na Programação Orientada a Objetos.


🔐 Encapsulamento


Encapsular significa esconder os detalhes internos do funcionamento de um objeto e controlar o acesso aos seus dados.


Uma das grandes vantagens do paradigma de programação orientada a objetos é facilidade de criação de códigos reutilizáveis. O encapsulamento de código é um conjunto de técnicas e boas práticas de programação que garantam que o código escrito seja visto como uma "cápsula", algo que contém uma parte externa (a "casca") e uma parte interna (o "núcleo"). A parte externa (”casca”) pode ser facilmente visualizada e entendida, porém não é possível (ou é desnecessário) o conhecimento do seu interior (”núcleo”).

🧪 Exemplo do mundo real:

Imaginemos um celular:

Na visão de orientação a objetos, o celular é uma cápsula:

O encapsulamento na programação orientada a objetos tenta criar esse cenário.

💊 Encapsulamento na Orientação a Objetos

As classes são desenhadas de forma a funcionarem como cápsulas, caixas-pretas:

Exemplo

Encapsulamento 02.png

👀 Modificadores de Visibilidade

Modificador Mesma Classe Mesmo Pacote Subclasse (Mesmo Pacote) Subclasse (Outro Pacote) Outro Pacote
public Sim Sim Sim Sim Sim
protected Sim Sim Sim Sim Não
default Sim Sim Sim Não Não
private Sim Não Não Não Não

🎯 Por que usar?


⚠️ Encapsulamento - Problema❗