Classe BankAccount
Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 21 de 56.
Desafio
Neste projeto, criaremos uma classe BankAccount do zero para gerenciar a conta bancária de um cliente.
Sua primeira tarefa é criar uma classe chamada BankAccount com:
- Construtor que recebe dois parâmetros:
accountHolder(string): O nome do proprietário da containitialBalance(number, opcional): Saldo inicial (o padrão é 0)
- Método
<strong>getBalance()</strong>que:- Retorna o saldo atual da conta
- Nenhum parâmetro é necessário
- Método
<strong>getAccountInfo()</strong>que:- Retorna uma string formatada:
"${accountHolder}: ${balance}" - Exemplo: Se accountHolder for "John" e balance for 500, retorna
"John: $500"
- Retorna uma string formatada:
Experimente você mesmo
// TODO: Criar uma classe chamada BankAccount
// TODO: Adicionar um construtor que aceite dois parâmetros: accountHolder e initialBalance (padrão é 0)
// TODO: Adicionar um método getBalance() que retorne o saldo atual da conta
// TODO: Adicionar um método getAccountInfo() que retorne uma string formatada: "${accountHolder}: $${balance}"
// Teste
const testAccount = new BankAccount('Alex Johnson', 500);
console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"
console.log('Balance:', testAccount.getBalance()); // 500Todas as lições de Programação Orientada a Objetos
1Objetos e a Palavra-chave this
Revisão Rápida: ObjetosAdicionando Métodos a ObjetosEntendendo a Palavra-chave thisFunções ConstrutorasA Palavra-chave newDesafio de Recapitulação7Herança e a palavra-chave extends
HerançaA relação "é um"A palavra-chave extendsO método super()Herdando propriedades e métodosDesafio de recapitulação10Polimorfismo
O que é Polimorfismo?Sobrescrevendo Métodos HerdadosUsando superDesafio de Recapitulação13Composição vs. Herança
A relação "tem um" vs. "é um"Os limites da herança profundaConstruindo objetos2Organizando o Código
O que são Módulos?Exportando com exportImportando com importExportações Default vs. Nomeadas5Encapsulamento e Acesso
EncapsulamentoCampos de Classe Públicos e PrivadosMétodos PrivadosDesafio de Recapitulação8Organizando Código POO
Organizar Classes em Módulos11Projeto: Um Renderizador de Formas
Configuração: Classe Shape e ExportaçãoHerança da Classe Circle14Sistema de Gerenciamento de Biblioteca
Projetando a BibliotecaClasse Livro com Composição