//Criando classe ContaCorrente.
export class ContaCorrente {
//Propriedades privadas do ByteBank. Não mexa!
static #numeroDeContas = 0;
#saldo = 0;
#cliente;
constructor(cliente, agencia) {
this.cliente = cliente;
this.agencia = agencia;
ContaCorrente.#numeroDeContas += 1;
}
//Usando acessor get para retornar valor de contas já criadas.
static get numeroDeContas() {
return ContaCorrente.#numeroDeContas;
}
(...resto do código...)
Executando o código:
const conta1 = new ContaCorrente(cliente: cliente1, agência: 1002);
const conta2 = new ContaCorrente(cliente: cliente2, agência: 1001);
//Como a propriedade numeroDeContas é privada (para evitar alterações no seu valor), então eu usei um get para retornar o valor de numeroDeContas, e conseguir ver o número de contas já criadas.
console.log(`O número de contas criada é: ${ContaCorrente.numeroDeContas}.`); // O resultado no console será: O número de contas criada é: 2.
Eu estou usando o " # "para deixar os métodos privados, mas vou deixar o código usando o " _ " abaixo:
//Criando classe ContaCorrente.
export class ContaCorrente {
//Propriedades privadas do ByteBank. Não mexa!
static _numeroDeContas = 0;
_saldo = 0;
_cliente;
constructor(cliente, agencia) {
this.cliente = cliente;
this.agencia = agencia;
ContaCorrente._numeroDeContas += 1;
}
//Usando acessor get para retornar valor de contas já criadas.
static get numeroDeContas() {
return ContaCorrente._numeroDeContas;
}
(...resto do código...)
Executando o código:
const conta1 = new ContaCorrente(cliente: cliente1, agência: 1002);
const conta2 = new ContaCorrente(cliente: cliente2, agência: 1001);
//Como a propriedade numeroDeContas é privada (para evitar alterações no seu valor), então eu usei um get para retornar o valor de numeroDeContas, e conseguir ver o número de contas já criadas.
console.log(`O número de contas criada é: ${ContaCorrente.numeroDeContas}.`); // O resultado no console será: O número de contas criada é: 2.