professor qual a vantagem de utilizar construtores cheios e vazio e é uma boa pratica dar setAll e getAll obrigado pela ajuda fico no aguado.
professor qual a vantagem de utilizar construtores cheios e vazio e é uma boa pratica dar setAll e getAll obrigado pela ajuda fico no aguado.
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.