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

this.cliente ou this._cliente em class Cliente?

Oi, gente!

Fiquei um pouco confusa na parte em que é criado um construtor para a classe da Conta Corrente. Como o cliente é definido na classe como um atributo privado, ao construir o método constructor(), não seria ideal colocar: this._cliente = cliente ao invés de this.cliente = cliente?

3 respostas
solução!

Fala Raphaela, tudo bem? Espero que sim!

Como pode ver na imagem abaixo, nós ja definimos o atributo privado _cliente antes mesmo do construtor:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E no construtor, estamos fazendo uma atribuição (set) ao atributo cliente, e logo acima do construtor, temos o método set cliente que irá "intervir" nessa atribuição ao atributo cliente, adicionando o valor para o atributo privado _cliente:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Dessa forma, quando estivermos atribuindo um valor ao atributo cliente, na verdade estaremos atribuindo esse valor ao atributo _cliente.

Espero ter ajudado, bons estudos :D

Mateus, eu tenho a classe ContaCorrente dessa mesma forma que você, e o resultado que obtenho no prompt é o seguinte quando tento imprimir as contas:

Cliente { nome: 'Ricardo', _cpf: 11111111111 }
Cliente { nome: 'Alice', _cpf: 22222222222 }
ContaCorrente {
  agencia: Cliente { nome: 'Ricardo', _cpf: 11111111111 },
  _cliente: undefined,
  _saldo: 0
}
ContaCorrente {
  agencia: Cliente { nome: 'Alice', _cpf: 22222222222 },
  _cliente: undefined,
  _saldo: 0
}

Ou seja: parece que o código está colocando uma instância da classe Cliente dentro do parâmetro agência da classe ContaCorrente, deixando dessa forma o parâmetro _cliente como undefined.

Edit: e na próxima aula eu acabei de ver que é só porque o construtor está com os parâmetros invertidos.

Fala Ernani, tudo bem? Espero que sim!

Para evitar confusões em outros alunos que estejam procurando por uma resposta especifica e por esse tópico ja ter sido marcado como solução, aconselho você abrir um novo tópico aqui no fórum! Assim consigo te ajudar da melhor forma, ta bom?

Fico no aguardo!

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