Menu
Coddy logo textTech

Метод пополнения

Часть раздела Объектно-ориентированное программирование путешествия по Lua на Coddy. Урок 20 из 70.

challenge icon

Задание

Легко

Теперь мы начинаем проект Digital Bank. Пора добавить функциональность в вашу новую систему! Теперь, когда account можно создавать с начальным balance 0, давайте дадим им возможность получать деньги через deposits.

Основываясь на вашем существующем Account class, вы добавите метод :deposit(amount), который увеличивает balance account на указанную сумму. Это фундаментальная банковская операция: деньги поступают, и balance растёт!

Ваши два файла:

  • Account.lua: расширьте свой Account class, добавив метод :deposit(amount). Этот метод должен добавить given amount к self.balance. Сохраните всё из предыдущего урока (структуру class и конструктор :new()).
  • main.lua: Require ваш Account module, create account, выполните несколько deposits и покажите, как изменяется balance.

Вы получите three входных значения:

  1. Первый amount deposit
  2. Второй amount deposit
  3. Третий amount deposit

В вашем основном файле create single account и Perform three deposits по порядку. after each deposit выведите текущий balance в новой строке.

Например, если входные значения — 100, 50 и 25, вывод должен быть таким:

100
150
175

Обратите внимание, как каждый deposit опирается на предыдущий balance: account начинается с 0, затем вырастает до 100 после первого deposit, до 150 после второго и до 175 после третьего. Ваш метод :deposit() обеспечивает это накопление!

Попробуйте сами

-- Подключить модуль Account
local Account = require('Account')

-- Прочитать три суммы депозитов
local deposit1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local deposit3 = tonumber(io.read())

-- Создать один аккаунт
local account = Account:new()

-- Выполнить три депозита и вывести баланс после каждого
-- TODO: внести deposit1 и вывести account.balance

-- TODO: внести deposit2 и вывести account.balance

-- TODO: внести deposit3 и вывести account.balance

Все уроки раздела Объектно-ориентированное программирование

Потренируйтесь самостоятельно: Онлайн-компилятор Lua