Menu
Coddy logo textTech

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

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

challenge icon

Задание

Легко

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

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

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

  • Account.lua: Расширьте ваш класс Account, добавив метод :deposit(amount). Этот метод должен прибавлять переданную сумму к self.balance. Сохраните всё из предыдущего урока (структуру класса и конструктор :new()).
  • main.lua: Подключите модуль Account через require, создайте аккаунт, сделайте несколько депозитов и покажите, как меняется баланс.

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

  1. Сумма первого депозита
  2. Сумма второго депозита
  3. Сумма третьего депозита

В вашем основном файле создайте один аккаунт и выполните три депозита по порядку. После каждого депозита выводите текущий баланс с новой строки.

Например, если входные данные 100, 50 и 25, то вывод должен быть следующим:

100
150
175

Обратите внимание, как каждый депозит дополняет предыдущий баланс — счет начинается с 0, затем увеличивается до 100 после первого депозита, до 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

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