3
respostas

Dúvida sobre atributos e propriedades

Satisfação, turma!

Ao analisar o problema do ByteBank e criar a classe Funcionario, ficou decidido que os atributos seriam nome, cpf e salario. No entanto, dentro da classe foram declaradas as propriedades:

public string Nome { get; set; }
public string CPF { get; set; }
public double Salario { get; set; }

A minha dúvida é: quando trabalho com propriedades é necessário explicitar os atributos ou não? Por exemplo:

private string _nome;
private string _cpf;
private double _salario;

public string Nome { get; set; }
public string CPF { get; set; }
public double Salario { get; set; }
3 respostas

Fala, pessoal!

Estava pensando na minha dúvida acima e lembrei que em algum exercício a explicação falava sobre isso. Quando eu defino um atributo eu vou querer fazer pelo menos duas ações básicas com ele: retornar (get) e atribuir um valor (set). Então, inicialmente eu definiria um campo e criaria dois métodos para realizar esses comportamentos.

Lembrei da explicação do exercício: o uso de getters e setters garante produtividade na hora de desenvolver o meu código. Ao declarar:

public string Nome {get; set;}

O compliador cria pode debaixo dos panos um atributo privado e os métodos Get e Set para manipular esse atributo.

É isso, galera! Por favor, me corrijam se eu estiver pensando errado.

Até a próxima, devs!

Oi Ana, como vai?

É uma prática bacana a ser seguida, sim. Mas, não é necessariamente uma obrigação. Inclusive, em futuros cursos de C#, não utilizaremos mais atributos.

Seria legal associar o atributo a propriedade, você pode fazer desta forma:

private string _nome;       

        public string Nome 
        { 
            get => _nome;
            set => _nome = value; 
        }

Espero ter ajudado. Caso tenha ficado com alguma dúvida, não hesite em perguntar.

Um forte abraço

Valeu, Ana!