JavaScriptУрок 13 из 16
Классы
Класс — это чертёж: по нему через new создают сколько угодно похожих объектов. У каждого счёта свой владелец и баланс, а правила пополнения и снятия общие.
Главное
- class Name { constructor(…) { this.x = … } } — чертёж и стартовые свойства
- new Name(…) создаёт объект, и у каждого такого объекта есть методы класса
- get balance() { … } — геттер: читается как свойство, без скобок
- #balance — приватное поле: снаружи класса его не прочитать и не изменить
- class B extends A — наследование; super(…) вызывает конструктор родителя
Пример
class Point { constructor(x, y) { this.x = x; this.y = y; } move(dx, dy) { this.x += dx; this.y += dy; } toString() { return `(${this.x}, ${this.y})`; }} class Point3D extends Point { constructor(x, y, z) { super(x, y); this.z = z; } toString() { return `(${this.x}, ${this.y}, ${this.z})`; }} const p = new Point(1, 2);p.move(3, 4);console.log(`${p}`);console.log(`${new Point3D(1, 2, 3)}`);Point3D унаследовал move от Point, а toString переопределил. super(x, y) передал x и y конструктору Point. В шаблонной строке объект превращается в текст через свой toString.
Задание
Как пользоваться редактором⌘ Enter или Ctrl Enter — запустить код, ⇧ ⌘ Enter — проверить задание.Tab и Shift Tab сдвигают строку или выделение; Esc, затем Tab — выйти из редактора.Проверка сравнивает то, что напечатала программа, с заданием; пробелы в конце строк не важны.После двух неудачных проверок можно открыть решение. Ваш код сохраняется в этом браузере.Допишите мини-банк: deposit пополняет #balance, withdraw снимает деньги, а если их не хватает — печатает Not enough money. В SavingsAccount добавьте addInterest(percent): он кладёт на счёт percent процентов от баланса. Вывод: Not enough money, Nora: 165 и true.
Вывод
Здесь появится то, что напечатает программа.