1
resposta

Atributos duplicados nas classes

Na classe ContaCorrente existem alguns atributos que são "duplicados", mas não entendi o motivo.

Exemplo:

public class ContaCorrente:IComparable {

public Cliente Titular{get;set;}
public string Nome_Agencia{ get; set; }

private int _numero_agencia;
public int Numero_agencia
{
    get
    {
        return _numero_agencia;
    }
    set
    {
        if(value <= 0)
        {

        }
        else
        {
            _numero_agencia = value;
        }
    }

}

private string _conta;
public string Conta
{
    get
    {
        return _conta;
    }
    set
    {
        if(value == null)
        {
            return;
        }
        else
        {
            _conta = value;
        }
    }
}

private double saldo;
public double Saldo
{
    get
    {
        return saldo;
    }
    set
    {
        if (value < 0)
        {
            return;
        }
        else
        {
            saldo = value;
        }
    }
}

Temos Saldo, Conta e Numero_agencia duplicados, porém, Nome_agencia e Titular não estao seguindo esse mesmo padrão... por que?

Além disso, gostaria de entender o por que de utilizar esse approach de atributo + propriedade, e não apenas as props...

1 resposta

Oii, Kaiky, tudo bem com você?

O que você está vendo não são duplicatas, mas sim a implementação de um padrão de design chamado encapsulamento.

No C# isso é feito usando campos privados que são acessados e modificados por propriedades públicas. Esse padrão é usado para proteger os dados da classe, permitindo que o acesso a eles seja controlado.

Sobre os atributos Nome_Agencia e Titular: eles são implementados diretamente como propriedades autoimplementadas porque não precisam de lógica adicional no getter ou setter. Propriedades autoimplementadas são uma maneira mais concisa de escrever propriedades que armazenam e retornam um valor sem lógica adicional.

A escolha entre usar um campo privado com uma propriedade pública e uma propriedade autoimplementada depende se você precisa de lógica adicional ao acessar ou modificar o valor.

Se outra dúvida surgir, estamos disponíveis aqui no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.