Segue o código que desenvolvi seguindo a proposta da aula 5. Tomei a liberdade de colocar métodos adicionai na classe por diversão:
class Client {
constructor(name, cpf, email, cash) {
this.name = name;
this.cpf = cpf;
this.email = email;
this.cash = cash;
}
depositCash(value) {
this.cash += value;
console.log(`Olá ${this.name}`);
console.log(`Você depositou ${value}, seu saldo agora é de: ${this.cash} R$`);
}
withdrawCash(value) {
console.log(`Olá ${this.name}`);
if (value > this.cash) {
console.log(`Você não dinheiro o suficiente para essa transação`);
} else {
this.cash -= value;
console.log(`Você sacou ${value}, seu saldo restante é: ${this.cash} R$`);
}
console.log(`Seu saldo atual é de ${this.cash} R$`);
}
showCash() {
console.log(`Olá ${this.name}`);
console.log(`Seu saldo atual é de ${this.cash} R$`);
}
}
class ClientBank extends Client {
constructor(name, cpf, email, cash, economy) {
super(name, cpf, email, cash)
this.economy = economy;
}
depositEconomy(value) {
this.economy += value;
console.log(`Olá ${this.name}`);
console.log(`Você depositou ${value} R$ na sua poupança, sua poupança agora possui: ${this.economy} R$`);
}
withdrawEconomy(value) {
console.log(`Olá ${this.name}`);
if (value > this.economy) {
console.log(`Você não dinheiro o suficiente para essa transação`);
} else {
this.economy -= value;
console.log(`Você sacou ${value} R$ da sua poupança, sua poupança agora possui: ${this.economy} R$`);
}
console.log(`Sua poupança possui ${this.economy} R$`);
}
showEconomy() {
console.log(`Olá ${this.name}`);
console.log(`Sua poupança possui ${this.economy} R$`);
}
showInfo() {
console.table(this);
}
}
const joao = new ClientBank("João Alves", "99955577723", "jojo45@email.com", 300, 900);
joao.depositCash(500);
joao.withdrawCash(300);
joao.showCash();
joao.depositEconomy(80);
joao.withdrawEconomy(20);
joao.showEconomy();
joao.showInfo();