2
respostas

Diferença entre as soluções

Apesar da dúvida já ter sido respondida, confesso que não entendi a diferença das soluções apresentadas.

Seguem as soluções

https://cursos.alura.com.br/forum/topico-duvida-esta-solucao-e-correta-para-a-forma-que-foi-ensinado-37516#590258

2 respostas

Fala christiano, tudo bom?

O código procedural vem da ideia de escrever toda a lógica do sistema sem um critério de separação muito claro.

Nesse caso o aluno criou um atributo na classe que retorna a junção dos valores nome e sobrenome ao acessar objeto.obtemNomeCompleto

O problema que o Flávio levantou é que a os valores nome e sobrenome são da classe, uma solução mais bonita seria:

obtemNomeCompleto() {
    return this.nome + ' ' + this.sobrenome;
}

Essa solução this.obtemNomeCompleto = nome + ' ' + sobrenome; está acoplada com o nome das variáveis que vem no construtor sendo que esses valores já foram adicionados ao objeto gerado a partir da classe Pessoa

Acho que entendi. Ou seja...a solução que só usa a concatenação está atrelada as variáveis atribuidas aos atributos, enquanto a que usa o método utiliza os atributos da classe. Seria isso?