🎯 Objetivo: Aprender a usar o encapsulamento, proteger dados de uma classe e controlá-los através de propriedades (um recurso moderno do C#).



🔐 O que é Encapsulamento?

O encapsulamento é um dos quatro pilares da Programação Orientada a Objetos (POO). Sua principal ideia é esconder os detalhes internos de um objeto e controlar o acesso aos seus dados.

Pense em uma classe como uma "cápsula" ou "caixa-preta". Você pode interagir com ela usando sua interface pública (métodos e propriedades), mas não precisa saber como ela funciona por dentro.

🧪 Exemplo do mundo real:

Imagine um controle remoto de TV.

Se o fabricante decidir modernizar o controle remoto com novos circuitos, a interface pública (os botões) pode permanecer a mesma. Isso significa que você continuará usando o controle da mesma forma, sem precisar aprender nada novo, mesmo que a tecnologia interna tenha mudado.

O encapsulamento na programação cria esse mesmo cenário: os membros da classe podem ser alterados internamente sem quebrar o código de quem a utiliza.

👀 Modificadores de Acesso em C#

Para alcançar o encapsulamento, usamos modificadores de acesso. Eles definem a visibilidade dos membros de uma classe (public, private, protected, etc.). Os mais comuns são:

Modificador Descrição
public O membro é acessível de qualquer lugar.
private O membro é acessível apenas dentro da própria classe.

A prática recomendada em C# é declarar os atributos (campos) de uma classe como private e usar Propriedades para expor esses dados de forma controlada.

⚠️ Problema com Atributos Privados

Se um atributo é private, ele não pode ser lido ou alterado por código externo. Isso nos leva a uma questão: como acessar os dados de um objeto?

A resposta é através de Propriedades.


💎 Getters e Setters: A Solução Clássica

Em C#, podemos criar métodos públicos específicos para ler (Get...) e escrever (Set...) os campos privados.