Пополнение и снятие средств
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 22 из 56.
Задание
Далее мы добавим функциональность транзакций в ваш класс BankAccount, реализовав методы deposit() и withdraw().
Ваша задача — добавить эти два новых метода в класс BankAccount:
1. <strong>deposit(amount)</strong> метод:
- Проверяет, является ли
amountположительным (больше 0) - Если значение корректно:
- Добавляет сумму к балансу
- Выводит в консоль точно:
Deposited ${amount}
- Если значение некорректно: Выводит в консоль точно:
Invalid deposit amount
2. <strong>withdraw(amount)</strong> метод:
- Проверяет, является ли
amountположительным И меньше или равным текущему балансу - Если значение корректно:
- Вычитает сумму из баланса
- Выводит в консоль точно:
Withdrew ${amount}
- Если значение некорректно: Выводит в консоль точно:
Invalid withdrawal amount or insufficient funds
Попробуйте сами
import { BankAccount } from './bankAccount.js';
// Тестирование реализации
const testAccount = new BankAccount('Alex Johnson', 500);
console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"
testAccount.deposit(200); // Выводит в консоль: "Deposited $200"
console.log('New balance:', testAccount.getBalance()); // 700
testAccount.deposit(-50); // Выводит в консоль: "Invalid deposit amount"
console.log('Balance unchanged:', testAccount.getBalance()); // 600
testAccount.withdraw(100); // Выводит в консоль: "Withdrew $100"
console.log('New balance:', testAccount.getBalance()); // 600
testAccount.withdraw(800); // Выводит в консоль: "Invalid withdrawal amount or insufficient funds"
console.log('Balance unchanged:', testAccount.getBalance()); // 600
Все уроки раздела Объектно-ориентированное программирование
1Объекты и ключевое слово this
Краткий обзор: ОбъектыДобавление методов в объектыПонимание ключевого слова thisФункции-конструкторыКлючевое слово newИтоговое испытание7Наследование и ключевое слово extends
НаследованиеОтношение «is-a»Ключевое слово extendsМетод super()Наследование свойств и методовИтоговое испытание10Полиморфизм
Что такое полиморфизм?Переопределение унаследованных методовИспользование superИтоговое задание13Композиция против наследования
Отношения «has-a» и «is-a»Ограничения глубокого наследованияСоздание объектов2Организация кода
Что такое модули?Экспорт с помощью exportИмпорт с помощью importDefault против именованных экспортов5Инкапсуляция и доступ
ИнкапсуляцияПубличные и приватные поля классовПриватные методыЗадание на повторение8Организация кода ООП
Организация классов в модули11Проект: Отрисовщик фигур
Настройка: Класс Shape и экспортНаследование класса Circle14Система управления библиотекой
Проектирование библиотекиКласс Book с использованием композиции6Проект: Простой банковский счет
Класс BankAccountПополнение и снятие средств9Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закрепление