Sobes.tech
Junior

O que é encapsulamento?

sobes.tech IA

Resposta da IA

A encapsulação é um mecanismo que permite ocultar o estado interno de um objeto e protegê-lo de interferências externas. Ela combina dados (campos) e métodos que operam com esses dados em um único bloco — a classe.

Em C#, a encapsulação é alcançada através de modificadores de acesso (public, private, protected, internal, protected internal, private protected) e propriedades.

Exemplo usando propriedades:

public class Pessoa
{
    private int _idade; // Campo privado

    public int Idade // Propriedade pública que fornece acesso controlado ao campo _idade
    {
        get { return _idade; }
        set
        {
            if (value >= 0) // Validação de dados
            {
                _idade = value;
            }
            else
            {
                // Pode lançar uma exceção ou realizar outra ação
                Console.WriteLine("A idade não pode ser negativa.");
            }
        }
    }

    public string Nome { get; set; } // Propriedade auto-implementada

    public void MostrarInfo()
    {
        Console.WriteLine($"Nome: {Nome}, Idade: {Idade}");
    }
}

Vantagens da encapsulação:

  • Ocultação da implementação: Os detalhes internos do objeto estão ocultos do código externo.
  • Controle de acesso: O acesso aos dados é feito através de métodos ou propriedades, permitindo validação e lógica de negócios.
  • Flexibilidade: Mudanças na implementação interna da classe não afetam o código externo que a utiliza.
  • Melhoria na manutenção: O código torna-se mais estruturado e compreensível.