Класс BankAccount
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy. Урок 21 из 56.
Задание
В этом проекте мы с нуля создадим класс BankAccount для управления банковским счётом клиента.
Ваша первая задача — создать класс с именем BankAccount, в котором будут:
- Конструктор, принимающий два параметра:
accountHolder(строка): имя владельца счётаinitialBalance(число, необязательный): начальный баланс (по умолчанию равен 0)
- Метод
getBalance(), который:- Возвращает текущий баланс счёта
- Не требует параметров
- Метод
getAccountInfo(), который:- Возвращает форматированную строку:
"${accountHolder}: $${balance}" - Например: если accountHolder — "John", а баланс равен 500, возвращает
"John: $500"
- Возвращает форматированную строку:
Попробуйте сами
// TODO: Создать класс с именем BankAccount
// TODO: Добавить конструктор, принимающий два параметра: accountHolder и initialBalance (по умолчанию 0)
// TODO: Добавить метод getBalance(), который возвращает текущий баланс счёта
// TODO: Добавить метод getAccountInfo(), который возвращает форматированную строку: "${accountHolder}: $${balance}"
// Тест
const testAccount = new BankAccount('Alex Johnson', 500);
console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"
console.log('Balance:', testAccount.getBalance()); // 500Все уроки раздела Объектно-ориентированное программирование
1Объекты и ключевое слово this
Краткий обзор: ОбъектыДобавление методов в объектыПонимание ключевого слова thisФункции-конструкторыКлючевое слово newИтоговое испытание7Наследование и ключевое слово extends
НаследованиеОтношение «is-a»Ключевое слово extendsМетод super()Наследование свойств и методовИтоговое испытание10Полиморфизм
Что такое полиморфизм?Переопределение унаследованных методовИспользование superИтоговое задание13Композиция против наследования
Отношения «has-a» и «is-a»Ограничения глубокого наследованияСоздание объектов2Организация кода
Что такое модули?Экспорт с помощью exportИмпорт с помощью importDefault против именованных экспортов5Инкапсуляция и доступ
ИнкапсуляцияПубличные и приватные поля классовПриватные методыЗадание на повторение8Организация кода ООП
Организация классов в модули11Проект: Отрисовщик фигур
Настройка: Класс Shape и экспортНаследование класса CircleПереопределение и метод AreaСтатический счетчик фигур14Система управления библиотекой
Проектирование библиотекиКласс Book с использованием композицииВалидация автора книги6Проект: Простой банковский счет
Класс BankAccountПополнение и снятие средствБаланс как приватное поле9Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закреплениеПотренируйтесь самостоятельно: Онлайн-компилятор JavaScript