Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2 / 2 / 0
Регистрация: 09.09.2021
Сообщений: 19

Создать класс account, конструктор которого принимает имя клиента name и начальный баланс банковского счета money

26.11.2021, 11:35. Показов 2214. Ответов 2

Студворк — интернет-сервис помощи студентам
Также добавить следующие методы:

getInfo - возвращает строку с информацией о клиенте в формате из примера.
addCash - принимает сумму amount, на которую нужно увеличить баланс, и строку об операции info.
withdrawCash - принимает сумму amount, на которую нужно уменьшить баланс, и строку об операции info.
getHistory - возвращает историю операций по счету.

Пример:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const ivan = new account('Ivan', 1000);
const pavel = new account('Pavel', 400);
 
ivan.getInfo(); // 'Name: Ivan, Amount: 1000'
 
ivan.addCash(2000, 'salary');
ivan.withdrawCash(500, 'new phone');
ivan.getInfo(); // 'Name: Ivan, Amount: 2500'
 
ivan.withdrawCash(500, 'apartment rent');
ivan.getInfo(); // 'Name: Ivan, Amount: 2000'
 
ivan.getHistory();
// ['Initial: 1000', 'salary: 2000', 'new phone: -500', 'apartment rent: -500']
 
pavel.getInfo(); // 'Name: Pavel, Amount: 400'
pavel.getHistory(); // ['Initial: 400']
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.11.2021, 11:35
Ответы с готовыми решениями:

Класс Покупатель: Фамилия, Имя, Отчество, Адрес, Номер кредитной карточки, Номер банковского счета; Конструктор; Методы:
Класс Покупатель: Фамилия, Имя, Отчество, Адрес, Номер кредитной карточки, Номер банковского счета; Конструктор; Методы: установка ...

Создать функцию конструктор Card, который хранит имя владельца банковской карты и баланс счета на карте.
Создать функцию конструктор Card,который хранит имя владельца банковской карты и баланс счета на карте. Определить функцию...

Создать определения класса банковского счета. Элементы данных: имя, номер счета, сальдо. Элементы-функции: положить сум
Создать определения класса банковского счета. Элементы данных: имя, номер счета, сальдо. Элементы-функции: положить сумму на счет, снять ...

2
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
26.11.2021, 12:06
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Account {
  constructor(name, money) {
    Object.defineProperty(this, "name", {
      value: name,
      writable: false,
      enumerable: true
    });
    this.money = money;
    this.history = [];
    this.toHistory(money, "Initial");
  }
  getInfo() {
    //return `Name: ${this.name}, Amount: ${this.money}`
    console.log(`Name: ${this.name}, Amount: ${this.money}`);
  }
  addCash(sum, info) {
    this.money += sum;
    this.toHistory(sum, info);
  }
  withdrawCash(sum, info) {
    sum = -sum;
    this.addCash(sum, info);
  }
  toHistory(sum, info) {
    const record = {};
    record[info] = sum;
    this.history.push(JSON.stringify(record).replace(/["\,{}]/g, ""));
  }
  getHistory() {
    console.log(this.history);
  }
}
1
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
26.11.2021, 12:12
Лучший ответ Сообщение было отмечено RecordBraker22 как решение

Решение

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class account {
    #name;
    #money;
    #history;
    constructor(name, money) {
        this.#name = name;
        this.#money = money;
        this.#history = [["Initial", money]];
    }
    getInfo() {
        return `Name: ${this.#name}, Amount: ${this.#money}`;
    }
    addCash(amount, info) {
        this.#history.push([info, amount]);
        this.#money += amount;
    }
    withdrawCash(amount, info) {
        this.#history.push([info, -amount]);
        this.#money -= amount;
    }
    getHistory() {
        return "[" + this.#history.map(e => `'${e[0]}: ${e[1]}'`).join(", ") + "]";
    }
}
const ivan = new account('Ivan', 1000);
const pavel = new account('Pavel', 400);
 
console.log(ivan.getInfo()); // 'Name: Ivan, Amount: 1000'
 
ivan.addCash(2000, 'salary');
ivan.withdrawCash(500, 'new phone');
console.log(ivan.getInfo()); // 'Name: Ivan, Amount: 2500'
 
ivan.withdrawCash(500, 'apartment rent');
console.log(ivan.getInfo()); // 'Name: Ivan, Amount: 2000'
 
console.log(ivan.getHistory());
// ['Initial: 1000', 'salary: 2000', 'new phone: -500', 'apartment rent: -500']
 
console.log(pavel.getInfo()); // 'Name: Pavel, Amount: 400'
console.log(pavel.getHistory()); // ['Initial: 400']
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.11.2021, 12:12
Помогаю со студенческими работами здесь

Написать базовый абстрактный класс который содержит универсальные поля для банковского счета и конструктор
Научиться использовать наследование и организацию структур . 1. Написать базовый абстрактный класс который содержит универсальные поля...

Для начала вам необходимо создать класс Developer, конструктор которого будет принимать 3 параметра: fullName. Имя разра
Ваша компания создает внутренний продукт для облегчения контроля за ростом своих разработчиков. Вам поручили задачу реализовать такой...

Customer: Фамилия, Имя, Отчество, Адрес, Телефон, Номер кредитной карточки, Номер банковского счета. Создать массив объ
Customer: Фамилия, Имя, Отчество, Адрес, Телефон, Номер кредитной карточки, Номер банковского счета. Создать массив объектов. Вывести:...

Customer: Фамилия, Имя, Отчество, Адрес, Телефон, Номер кредитной карточки, Номер банковского счета. Создать массив объек- тов.
Customer: Фамилия, Имя, Отчество, Адрес, Телефон, Номер кредитной карточки, Номер банковского счета. Создать массив объек- тов....

Создать класс Money, разработав поля, конструктор, методы, свойства
Добрый день! Помогите, пожалуйста, в решении лабы ) Язык - C#. Очень-очень нужно..и побыстрее) Вот задание: Создать класс Money,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru