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

construtores

professor qual a vantagem de utilizar construtores cheios e vazio e é uma boa pratica dar setAll e getAll obrigado pela ajuda fico no aguado.

2 respostas
solução!

Olá Guilherme tudo bem ?

Durante o curso a gente vai dar uma abordagem um pouco maior sobre sua dúvida, mas vou tentar te dar um mini spoiller, para tentar sanar um pouco sua dúvida.

Usamos o private para poder encapsular nossos atributos, deixando os protegidos, correto ? Contudo em algum momento os valores precisarão ser passados para eles, está ai o papel do construtor e/ou setters, mas vamos fazer uma analise:

  • caso seja uma informação onde eu não quero que mude, por exemplo, data de nascimento, poxa a pessoa só nasce uma vez na vida, não seria legal que ela fique alterando a data, ainda mais num sistema de vendas onde no mês do aniversário tem desconto, dado essa necessidade, como nós precisamos passar o valor uma única vez, então temos que passar no instante que o objeto é criado, então será através do construtor e nesse caso não teremos o setter desse atributo.

  • Outro caso é um campo onde precisamos fazer mudanças constantes, por exemplo um produto ter sua descrição alterada, nisso é bem comum nós usarmos o setter para passar a primeira vez e toda as demais vezes que for necessário atribuir um novo valor.

P.S.: vale ressaltar que no último caso nada impede de termos um construtor que receba esse atributo como parâmetro e ainda termos o setter.

Espero ter deixado um pouco mais claro.

Qualquer coisa estou a disposição.

Abraços

vlw iluminou minha mente muito obrigado Matheus Brandino pela ajuda.