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

[Dúvida] Propriedades AutoImplementadas

Propriedade AutoImplementada

Estou com uma dúvida, porque a propriedade autoimplementada auxilia no encapsulamento? Essa propriedade funciona como se fosse um campo públic, qual seria sua vantagem e porque garante o encapsulamento?

public string Nome { get; set; }
2 respostas
solução!

E ai Daniel, tudo jóia?

No exemplo que você está utilizando, mesmo após a criação do seu objeto ele ainda pode ser alterado.

O encapsulamento serve pra você determinar o que e quem estiver de fora da classe pode visualizar (get)/ Alterar(set)

public string Nome { get; private set; } = "Daniel";

Vou deixar dois links aqui que tem uma explicação mais exemplificada e pode te ajudar com essa duvida.

auto-implemented-properties

keywords-private

A vantagem é escrever menos código e não ter que criar uma propriedade private e depois ter que criar 2 métodos (um get e um set) para manipular essa propriedade.

Ao invés de criar por exemplo um

private int Idade;

public int SetIdade( int idade ) 
{
    this.Idade = idade;
}

public int GetIdade() 
{
    return this.Idade;
}

Você pode criar diretamente na auto implementada com uma propriedade publica e passando o que quer ser private ou não.

O mesmo exemplo de cima

public int Idade { get; set }  // faz exatamente a mesma coisa com uma linha de código