Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Atributo privado

Quando uso o # como atributo privado, mesmo colocando o get na classe não consigo imprimir os dados do cliente ao mandar imprimir a conta corrente na classe main. É possível fazer isso?

1 resposta
solução!

Oi Maciel,

Utilizando o exemplo da aula: https://github.com/alura-cursos/js-orientacao-objetos/tree/aula5 e supondo que você altere ali em _cpf para o #cpf.

Se você utilizar console.log(contaCorrenteRicardo) você está apenas imprimindo esse objeto e, embora definido, você não está fazendo uso do get para acessar o cpf. Nesse caso, tenta imprimir dessa forma:

console.log(contaCorrenteRicardo.cliente.cpf);

Aqui você tem o cpf, ai você poderia montar uma mensagem com os dados do cliente ou ainda definir uma função que faça isso. Exemplo:

Dentro da função ContaCorrente.js:

imprimirDadosCliente(){
        console.log(`Cliente { nome: ${this.cliente.nome}, cpf: ${this.cliente.cpf}}`);
    }

Dentro de index.js:

console.log(`Cliente { nome: ${contaCorrenteRicardo.cliente.nome}, cpf: ${contaCorrenteRicardo.cliente.cpf}}`);
contaCorrenteRicardo.imprimirDadosCliente();

Isso funcionou aqui comigo, espero ter te ajudado!

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