//classe abstrata export class Conta { constructor (saldoInicial, cliente, agencia) { if(this.constructor == Conta){ throw new Error("Você nao deveria instanciar um objeto Conta, pois essa é uma classe abstrata") } this.saldo = saldoInicial; this.cliente = cliente; this._agencia = agencia; console.log(this.constructor)
}
set cliente(novoValor) {
if (novoValor instanceof Cliente) {
this._cliente = novoValor;
}
}
get cliente() {
return this._cliente;
}
get saldo(){
return this._saldo;
}
// Método abstrato
sacar(valor){
throw new Error("O método Sacaar de conta é adstrato")
}
_sacar(valor, taxa){
const valorSacado = taxa * valor;
if(this._saldo >=valorSacado){
this._saldo -= valorSacado;
return valorSacado;
}
return 0;
}
depositar(valor){
this._saldo += valor;
}
transferir(valor, conta){
const valorSacado = this.sacar(valor);
conta.depositar(valorSacado)
}
}
meu codigo e meu erro PowerShell 7.2.1 Copyright (c) Microsoft Corporation.
https://aka.ms/powershell Type 'help' to get help.
PS C:\Users\conta\bin-dicas> node index.js [class ContaCorrente extends Conta] { numeroDeContas: 0 } [class ContaCorrente extends Conta] { numeroDeContas: 1 } [class ContaPoupanca extends Conta] file:///C:/Users/conta/bin-dicas/contas.js:5 throw new Error("Você nao deveria instanciar um objeto Conta, pois essa é uma classe abstrata") ^
Error: Você nao deveria instanciar um objeto Conta, pois essa é uma classe abstrata at new Conta (file:///C:/Users/conta/bin-dicas/contas.js:5:19) at file:///C:/Users/conta/bin-dicas/index.js:16:15 at ModuleJob.run (node:internal/modules/esm/module_job:195:25) at async Promise.all (index 0) at async ESMLoader.import (node:internal/modules/esm/loader:337:24) at async loadESM (node:internal/process/esm_loader:88:5) at async handleMainPromise (node:internal/modules/run_main:65:12)
Node.js v17.3.0 PS C:\Users\conta\bin-dicas> node index.js [class ContaCorrente extends Conta] { numeroDeContas: 0 } [class ContaCorrente extends Conta] { numeroDeContas: 1 } [class ContaPoupanca extends Conta] file:///C:/Users/conta/bin-dicas/contas.js:5 throw new Error("Você nao deveria instanciar um objeto Conta, pois essa é uma classe abstrata") ^
Error: Você nao deveria instanciar um objeto Conta, pois essa é uma classe abstrata at new Conta (file:///C:/Users/conta/bin-dicas/contas.js:5:19) at file:///C:/Users/conta/bin-dicas/index.js:16:15 at ModuleJob.run (node:internal/modules/esm/module_job:195:25) at async Promise.all (index 0) at async ESMLoader.import (node:internal/modules/esm/loader:337:24) at async loadESM (node:internal/process/esm_loader:88:5) at async handleMainPromise (node:internal/modules/run_main:65:12)
Node.js v17.3.0 PS C:\Users\conta\bin-dicas> node index.js [class ContaCorrente extends Conta] { numeroDeContas: 0 } [class ContaCorrente extends Conta] { numeroDeContas: 1 } [class ContaPoupanca extends Conta] file:///C:/Users/conta/bin-dicas/contas.js:5 throw new Error("Você nao deveria instanciar um objeto Conta, pois essa é uma classe abstrata") ^
Error: Você nao deveria instanciar um objeto Conta, pois essa é uma classe abstrata at new Conta (file:///C:/Users/conta/bin-dicas/contas.js:5:19) at file:///C:/Users/conta/bin-dicas/index.js:16:15 at ModuleJob.run (node:internal/modules/esm/module_job:195:25) at async Promise.all (index 0) at async ESMLoader.import (node:internal/modules/esm/loader:337:24) at async loadESM (node:internal/process/esm_loader:88:5) at async handleMainPromise (node:internal/modules/run_main:65:12)
Node.js v17.3.0 PS C:\Users\conta\bin-dicas>