Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Propriedade com outros tipos de modificadores de acesso

Se uma propriedade possui um modificador de acesso (na propriedade em si, não nos get e set) e em todos os exemplos utilizamos como pública, alguém pode sugerir algum caso em que seja útil um outro modificador de acesso à mesma? Quando devemos alterar esse modificador?

3 respostas
solução!

Oi Leandro, tudo bom?

Por enquanto pode ser que fique meio vago a ideia de uma property privada. Entretanto, você verá algumas possibilidades para alterar o modificador de acesso de uma property e atributo mais pra frente no capitulo de herança.

Mas, além disso, é bem comum utilizarmos propertys privadas para realizar Lazy Load e também é muito mais fácil definir uma lógica de atribuição de valor com uma property já que temos o método set e podemos definir o que quisermos nele.

Então, com propertys, garantimos que nossa lógica será respeitada sempre. Existem algumas outras possibilidades. Com o tempo você vai encontrando no seu dia-a-dia situações onde você poderá aplicar estes conceitos =)

Qualquer duvida, compartilhe com a gente!

Lendro, tudo bem ?

Os modificadores são utilizados para definir o escopo de cada atributo, propriedade ou método dentro de uma classe e com isso não corromper o encapsulamento, quebrando as responsabilidades da classe.

Abaixo eu dexei um exemplo de utilização de atributos private e uma propriedade public:

public class Conta
{
    private int numero;
    private int digito;

    public Conta(int numero, int digito)
    {
        this.numero = numero;
        this.digito = digito;
    }
    public string NumeroFormatado
    {
        get
         {
            return string.Format("{0}-{1}", this.numero, this.digito);
        }

        private set;
    }
}

Criei dois atributos "numero" e "digito", eles são referentes a Conta e não faz sentido existir uma conta sem número e digito, então para criar uma instância dela é preciso informar isso ao construtor da classe.

Pra fins de relatório eu preciso formatar o número da conta no formato "12345-1" então a propriedade "NumeroFormatado" retorna isso para mim e ela não pode ser alterada externamente porque só a classe conta pode dizer quais são seus número e dígito.

Consegui te ajudar a entender uma possível aplicações dos modificadores ?

Abraços

Pessoal,

Obrigado pela ajuda, deu pra entender melhor. Realmente parece haver alguns casos em que isso se faz necessário.

Abs.