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

Dúvida quanto à setters e métodos

Na abordagem do curso, novas negociações são adicionadas através de um método adiciona(). É possível fazer o mesmo com um setter, alterando apenas a expressão de chamada.

A minha dúvida é qual a diferença de cada abordagem. Se é uma diferença semântica, qual seria? Se há uma diferença de lógica ou de performance, qual método é o mais eficiente? Por último, se há apenas uma diferença de modelos de arquitetura, qual é o mais aceito?

3 respostas

Fala ai Eric, tudo bem? Seria uma diferença semântica, os setters são para alterar atributos e propriedades das classes.

E além disso, eles não podem receber parâmetros ou serem executados como funções.

Espero ter ajudado.

Muito obrigado, Matheus. Entendi a diferença, contudo sua resposta gerou outra dúvida =D

Você disse que os setters não podem receber parâmetros, entretanto eu fiz assim:

  set lista(negociacao) {
    this._negociacoes.push(negociacao);
  }

e no método adiciona do Controller eu chamei da seguinte forma:

this._listaNegociacoes.lista = this._criaNegociacao();

E funcionou perfeitamente.

Se o setter não aceita parâmetros, qual foi a ginástica que o browser fez para entender isso? Ele simplesmente ignorou que eu coloquei o parâmetro negociacao ali?

solução!

Fala Eric, na verdade eu acabei me expressando mal.

Ele pode receber parâmetros, mas, não como a gente passa parâmetros para funções.

Ele vai receber apenas um parâmetro em forma de atribuição.

Espero ter ajudado e desculpa a má explicação.