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

Erro ao compor as classes.

Olá, pessoal. Por algum motivo, ao compor as classes, o interpretador retorna o seguinte: contaCorrente {agencia: 1001, saldo: 1000, cliente: Cliente} Ou seja, na parte do cliente, não obtenho a classe Cliente com o nome e cpf conforme exemplo demonstrado pelo professor. Segue o código:

//molde classes

class Cliente{
    nome;
    cpf;
}

class contaCorrente{
    agencia;
    saldo;
    cliente;

    //métodos
    saque(valor){
        if(valor > this.saldo){
            console.log(`nao é possivel realizar a operação`)
        }
        else{
            this.saldo -= valor
        }
    }
    deposito(valor){
        if(valor < 0){
            console.log(`não é possível realizar a operação`)
        }
        else{
            this.saldo += valor;
        }
    }
    transferir(valor, conta){
        const valorSacado = this.saque(valor);
        conta.deposito(valorSacado)

    }

}

//objeto
const cliente1 = new Cliente();
const cliente2 = new Cliente();
const contaCorrente1 = new contaCorrente();
const contaCorrente2 = new contaCorrente();

//atributos
cliente1.nome=`gabriel`;
cliente1.cpf=12332145665

cliente2.nome=`alice`
cliente2.cpf= 1295786723

contaCorrente1.agencia= 1001;
contaCorrente1.saldo=1000;
contaCorrente1.cliente=cliente1;

contaCorrente2.agencia=1001
contaCorrente2.saldo=200;
contaCorrente2.cliente=cliente2

//print
console.log(contaCorrente1)
4 respostas

Ei Gabriel, tudo bom ? Acredito que seja pela atribuição que fez ao cliente (linha 53):

contaCorrente1.cliente=cliente1;

Pois cliente 1 é a classe realmente (linha 3).

Se quiser referenciar ao nome do cliente1 (linha45), basta acessar a propriedade depois de um ponto:

contaCorrente1.cliente=cliente1.nome;

Olá, Peter. Obrigado pelo retorno.

E se eu quiser referenciar o nome e o cpf do cliente que são de fato os atributos da classe Cliente? Seguindo sua sugestão, apenas o nome aparece, porém, ao adicionar cliente1.cpf, na linha seguinte, ele mostra o cpf e deixa de mostrar o nome.

O que não estou conseguindo entender é que no exemplo demonstrado pelo professor, para referenciar os atributos da classe Cliente, ele não acessa nenhuma propriedade utilizando apenas a classe de fato: contaCorrente1.cliente=cliente1

solução!

Olá Gabriel, não sei qual terminal você esta usando no vs code (bash, powershell...), mas faz sentido pelo que esta escrevendo. na linha em que que você atribui ao objeto ContaCorrente1.Cliente o cliente1... você e refere ao objeto com o seus atributos.

contaCorrente1.cliente=cliente1;

estou usando o vs code com o terminal do powershell:

![](Um comando de exibição de um código de progamação que apresenta propriedades de uma classe de clientes e seus dados )

tente ver de novo e qualquer coisa continuamos tentando por aqui... bons estudos

Olá Carlos. Estava usando o Vs Code x terminal: bash. Troquei para o NodeJs e funcionou, em termos práticos não sei dizer o por quê hahaha. Desculpe a demora, mas é isso.

Agradeço a atenção. Boa noite.