Solucionado (ver solução)
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.
        `
    }

}

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