Olá, fiquei com uma dúvida em relação à afirmação da alternativa B.
O código public int Idade { get; set; } cria um campo privado? Mas não é público?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, fiquei com uma dúvida em relação à afirmação da alternativa B.
O código public int Idade { get; set; } cria um campo privado? Mas não é público?
Olá Andre,
Quando se declara uma propriedade, o .Net cria automaticamente um campo privado para guardar essa informação, se o .Net não fizesse essa criação oculta, você precisaria criar um propriedade assim:
public class Pessoa
{
private int _idade;
public int Idade
{
get
{
return _idade;
}
set
{
_idade = value;
}
}
public int getIdade()
{
return _idade;
}
public void setIdade(int value)
{
_idade = value;
}
}Perceba que private int _idade precisou ser declarado para guardar o valor da propriedade, é isso que a alternativa B se refere, isso não muda a visibilidade da sua propriedade que continua public int Idade
Espero ter conseguido explicar, pode copiar essa classe e testar ela no código, para entender esse mecanismo oculto
Se a dúvida permanecer, só falar!
Abraço!