Menu
Coddy logo textTech

Depósitos e Saques

Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 22 de 56.

challenge icon

Desafio

Em seguida, adicionamos a funcionalidade de transação à sua classe BankAccount implementando os métodos deposit() e withdraw().

Sua tarefa é adicionar esses dois novos métodos à classe BankAccount:

1. <strong>deposit(amount)</strong> método:

  • Verifica se o amount é positivo (maior que 0)
  • Se for válido:
    • Adiciona o valor ao balance
    • Registra exatamente: Deposited ${amount}
  • Se for inválido: Registra exatamente: Invalid deposit amount

2. <strong>withdraw(amount)</strong> método:

  • Verifica se o amount é positivo E menor ou igual ao balance atual
  • Se for válido:
    • Subtrai o valor do balance
    • Registra exatamente: Withdrew ${amount}
  • Se for inválido: Registra exatamente: Invalid withdrawal amount or insufficient funds

Experimente você mesmo

import { BankAccount } from './bankAccount.js';

// Testar a implementação
const testAccount = new BankAccount('Alex Johnson', 500);

console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"

testAccount.deposit(200);  // Logs: "Deposited $200"
console.log('New balance:', testAccount.getBalance()); // 700

testAccount.deposit(-50);  // Logs: "Invalid deposit amount"
console.log('Balance unchanged:', testAccount.getBalance()); // 600

testAccount.withdraw(100); // Logs: "Withdrew $100"
console.log('New balance:', testAccount.getBalance()); // 600

testAccount.withdraw(800); // Logs: "Invalid withdrawal amount or insufficient funds"
console.log('Balance unchanged:', testAccount.getBalance()); // 600




Todas as lições de Programação Orientada a Objetos