Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Exercício (Herança de classes em JS)

Abaixo está a minha versão um pouco modificada do que foi proposto, eu só fiquei com a a dúvida de como sobrescrever uma função que é vinda da mãe. Temos a função "Relatório" mas que só contém alguns atributos, na filha que herda da mãe tem mais atributos, mas não descobri uma forma de sobrescrever, então eu simplesmente fiz uma função com o mesmo nome "Relatório" com mais atributos.

1 resposta
solução!
class Cliente {
    constructor(nome, email, cpf) {
        this.nome = nome;
        this.email = email;
        this.cpf = cpf;
    }

    relatorio(){
        return `
        A pessoa ${this.nome} com o CPF ${this.cpf} tem o e-mail ${this.email}.
        `
    }
}

const clienteMaria = new Cliente("Maria", "maria@bla.com.br","123456789");
console.log(clienteMaria);
console.log(clienteMaria.relatorio());


class ClienteBanco extends Cliente{
    constructor(nome, email, cpf, saldo) {
        super(nome, email, cpf);
        this.saldo = saldo;
    }

    sacar(valorSaque){
        if (valorSaque <= this.saldo) {
            this.saldo -= valorSaque;
        } else {
            return "Valor é maior que o saldo. :("
        }
    }

    depositar(valorDeposito) {
        this.saldo += valorDeposito
    }

    //Sobreescrita:
    relatorio(){
        return `
        A pessoa ${this.nome} com o CPF ${this.cpf} tem o e-mail ${this.email} e o saldo de R$:${this.saldo} reais.
        `
    }

}