Estou tentando inserir uma no propriedade chamada 'rendimento' na classe ContaPoupanca. Essa propriedade deve retornar o cálculo do saldo da conta poupança multiplicado pela taxa de rendimento (5%), que representa o rendimento mensal de ContaPoupanca. Ocorre que o resultado retornado pelo cálculo é 0, mesmo tendo realizado um depósito de 500 reais em ContaPoupanca. Poderiam me ajudar a entender qual é o erro e como fazer essa nova propriedade funcionar? Segue abaixo o código da minha classe ContaPoupanca:
import { Conta } from "./Conta.js";
export class ContaPoupanca extends Conta{
constructor(cliente,agencia) {
super(cliente,agencia)
this.tipo = "poupanca";
this.rendimento = this.saldo * 0.05; // this.rendimento não está fazendo o cálculo. Retorna 0.
}
}
Segue código da minha classe Conta, da qual ContaPoupanca herda as propriedades (cliente, agencia e saldo) e métodos (sacar, depositar e transferir):
export class Conta {
constructor(cliente,agencia) {
this._cliente = cliente;
this.agencia = agencia;
this._saldo = 0;
}
set cliente(novoCliente) {
if(novoCliente instanceof Cliente){
this._cliente = novoCliente;
}
}
get cliente() {
return this._cliente;
}
get saldo() {
return this._saldo;
}
sacar(valor){
let taxa = 1;
const valorSacado = valor * taxa;
if(this._saldo >= valorSacado){
this._saldo = this._saldo - valorSacado;
return valorSacado;
}
}
depositar(valor){
if(valor >= 0)
{
this._saldo = this._saldo + valor;
}
}
transferir(valor, conta){
this.sacar(valor);
conta.depositar(valor);
}
}
Segue meu código do meu index.js:
const cliente1 = new Cliente("Ricardo", 11122233309);
const cliente2 = new Cliente("Alice", 88822233309);
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< CONTAS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
const contaCorrente1 = new ContaCorrente(cliente1,1001);
const contaPoupanca1 = new ContaPoupanca(cliente1,1001)
const contaCorrente2 = new ContaCorrente(cliente2,1002);
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< OPERACOES >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
contaCorrente1.depositar(500);
contaCorrente1.transferir(200, contaCorrente2)
contaPoupanca1.depositar(500);
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< CONSOLE.LOG >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
console.log(contaCorrente1);
console.log(contaPoupanca1);
console.log(contaCorrente2);
console.log("Número de Contas Correntes: " + ContaCorrente.numeroDeContas);