Na aula o instrutor faz um depósito de 100 na Conta Salário, porem quando faço o log da conta no console o fica assim => _saldo: 0
index:
import {Cliente} from "./Cliente.js";
import {ContaCorrente} from "./ContaCorrente.js";
import {ContaPoupanca} from "./ContaPoupanca.js";
import {Conta} from "./Conta.js";
import { ContaSalario } from "./ContaSalario.js";
const cliente1 = new Cliente("Ricardo", 11122233309);
const contaPoupanca = new ContaPoupanca(50, cliente1, 1001);
const contaCorrenteRicardo = new ContaCorrente(cliente1, 1001);
const contaSalario = new ContaSalario(cliente1);
contaSalario.depositar(100);
console.log(contaSalario);
Conta.js
//Classe abstrata
export class Conta {
constructor(saldoInicial, cliente, agencia) {
if (this.constructor == Conta){
throw new Error("Voce não deveria instanciar um objeto do tipo conta diretamente pois essa é uma classe abstrata.\n");
}
this._saldo = saldoInicial;
this._cliente = cliente;
this._agencia = agencia;
}
set cliente(novoValor) {
if (novoValor instanceof Cliente) {
this._cliente = novoValor;
}
}
get cliente() {
return this._cliente;
}
get saldo() {
return this._saldo;
}
//metodo abstrato
sacar(valor) {
throw new Error("O método Sacar da conta é abstrato.");
}
_sacar(valor, taxa){
const valorSacado = taxa * valor;
if (this._saldo >= valorSacado) {
this._saldo -= valorSacado;
return valorSacado;
}
return 0;
}
depositar(valor) {
if (valor <= 100)
{
return;
}
this._saldo += valor;
}
tranferir(valor, conta) {
const valorSacado = this.sacar(valor);
conta.depositar(valorSacado);
}
}
import { Conta } from './Conta.js';
export class ContaSalario extends Conta {
constructor(cliente){
super(0, cliente, 100);
}
}