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

Nao entendo o uso do data.getTime()

Boa tarde!

Eu entendi como funciona a nova referencia ate essa parte:

get data() {
        return new Date(this._data.getTime());
}

Mas quando chegou aqui eu nao entendi:

this._data = new Date(data.getTime());

Entendo que serve pra que nao seja possivel alterar a data a partir do html, mas nao sei como funciona essa logica.

Que relacao isso tem com o get date?

Desculpe se nao formulei a questao direito, mas é que isso ficou bem confuso na minha cabeca.

3 respostas
solução!

Fala Anderson, tudo bem?

A ideia é justamente essa que você falou, não permitir a alteração da data.

O que acontece é que quando utilizamos o get data, ele anteriormente estava retornando uma referência para o atributo privado data da classe Negociaçao, isso fazia com que pudessemos alterá-lo, uma vez que temos uma referência para ele.

A estratégia para resolver esse problema é a seguinte:

Sabemos que não podemos entregar uma referência para o atributo (é possível alterar), então por isso, devolvemos um novo objeto (totalmente distinto do atributo), um novo Date, uma cópia do atributo da classe Negociacao.

No construtor da classe também foi preciso realizarmos algumas alterações. Não podemos confiar na data que foi passada para o construtor, temos que, a partir dessa data passada, criarmos um novo objeto date para impedirmos qualquer alterações.

De primeira parece confuso realmente, mas é algo bem comum no desenvolvimento, se ficou confuso ainda, só falar que tento explicar de outra forma!

Espero ter ajudado amigo!

Abraços!

Nossa, ajudou pra caramba Paulo.

Muito obrigado!

Abracos.

Fico feliz em ter ajudado Anderson!

Estou fechando o tópico, qualquer nova dúvida basta criar um novo!

Abraços e sucesso!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software