Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Get Set diferenças

Não consigo entender a diferença entre declarar uma variável e declarar uma propriedade: public int idade; public int Idade { get ; set; } public void chama() { this.Idade = 20; this.idade = 20; } Em ambas eu consigo colocar o valor, porque entende que Idade é uma variavel e idade também é uma variavel? Sei que ambas funcionam, porem quero entender o porque, o conceito disso.

1 resposta
solução!

Oi, tudo bem?

Realmente nesse contexto que você impôs, não tem diferença.

Agora pense no exemplo do atributo "Saldo" (ou qualquer outro atributado que pode ser consultado(get), mas não modificado(set), diretamente), que você precisa restringir a modificação. Definimos então:

public double Saldo { get; }

Eu explicitamente declarei que o atributo Saldo pode ser apenas consultado, podendo chamar

Console.WriteLine(this.saldo)

e fazendo retornar um erro para quem tentar fazer a modificação do atributo diretamente:

this.Saldo = value

Neste caso, preciso criar um método que me retorne this.saldo com todas as regras de negócio que meu sistema necessite.

As propriedades get e set, mais do que proteger o atributo, servem também para modificar alguma coisa que você queira (alguma regra de negócio aplicadas ao sistema) antes de retorná-la para quem o chamou.

Espero ter ajudado. Abraço.