Propriedades em C#

Propriedades em C#

As propriedades em C# são um recurso poderoso que permite controlar o acesso a campos privados de uma classe de forma segura e flexível. Elas funcionam como uma ponte entre os membros privados da classe e o mundo exterior, controlando como os dados são lidos ou modificados.

Isso promove o encapsulamento, protegendo os dados internos enquanto oferece controle total sobre como acessá-los.

🌉 Estrutura de uma Propriedade

Uma propriedade é composta por dois acessores principais: get (leitura) e set (escrita).

class Pessoa

{

    private string nome;

    public string Nome

    {

        get { return nome; }

        set { nome = value; }

    }

}

Uso:

Pessoa pessoa = new Pessoa();

pessoa.Nome = "João";

Console.WriteLine(pessoa.Nome); // Saída: João

🧠 Propriedades com Lógica Interna

É possível inserir lógica nos acessores, como validações:

class Funcionario

{

    private int idade;

    public int Idade

    {

        get { return idade; }

        set

        {

            if (value >= 18)

                idade = value;

            else

                Console.WriteLine("A idade deve ser maior ou igual a 18.");

        }

    }

}

Uso:

Funcionario funcionario = new Funcionario();

funcionario.Idade = 25;

Console.WriteLine(funcionario.Idade); // 25

funcionario.Idade = 16; // Mensagem de erro

🔒 Somente Leitura / Escrita

🔍 Propriedade Somente Leitura:

class Circulo

{

    private double raio;

    public Circulo(double raio)

    {

        this.raio = raio;

    }

    public double Area

    {

        get { return Math.PI * raio * raio; }

    }

}

✍️ Propriedade Somente Escrita:

class Segredo

{

    private string mensagem;

    public string Mensagem

    {

        set { mensagem = value; }

    }

}

⚡ Propriedades Automáticas

Para casos simples, você pode usar propriedades automáticas sem precisar de campos privados explícitos:

class Carro

{

    public string Marca { get; set; }

    public string Modelo { get; set; }

}

Uso:

Carro carro = new Carro();

carro.Marca = "Ford";

Console.WriteLine(carro.Marca);

📘 Propriedades Automáticas Somente Leitura

Com o init, você permite atribuição apenas na inicialização:

class Livro

{

    public string Titulo { get; init; }

}

Uso:

Livro livro = new Livro { Titulo = "Programando em C#" };

Console.WriteLine(livro.Titulo);

📌 Resumo

  • Propriedades protegem seus campos privados com segurança.
  • Permitem lógica nos acessores, como validações.
  • Propriedades automáticas facilitam e economizam tempo.
  • Com get, set e init, você tem controle total!

Comentários

Postagens mais visitadas