🎯 Objetivo: Aprender a usar o encapsulamento, proteger dados de uma classe e controlá-los através de propriedades (um recurso moderno do C#).
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.
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.
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.
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.
Em C#, podemos criar métodos públicos específicos para ler (Get...) e escrever (Set...) os campos privados.
GetNome()): É um método público que retorna o valor do campo privado. Permite a leitura.SetNome()): É um método público que modifica o valor do campo privado. Permite a escrita e, crucialmente, a validação.