/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/lua/lua-515-171-023/main.lua
37 строк
1 KB
Spirzen
OOP
09 июн 2026, 20:58
09 июн 2026, 20:58
1dca232
Код
Авторство
О чём код?
local BankAccount = {} function BankAccount:new(owner) local obj = setmetatable({owner = owner, _balance = 1000}, {__index = self}) return obj end function BankAccount:deposit(amount) self._balance = self._balance + amount print("Пополнение: +" .. amount .. " ₽. Баланс: " .. self._balance .. " ₽") end function BankAccount:withdraw(amount) if amount > self._balance then print("Ошибка: недостаточно средств") return end self._balance = self._balance - amount print("Снятие: -" .. amount .. " ₽. Баланс: " .. self._balance .. " ₽") end function BankAccount:show_balance() print("Текущий баланс: " .. self._balance .. " ₽") end local account = BankAccount:new("Иван") account:deposit(500) account:withdraw(200) account:show_balance() print("Попытка прямого доступа к балансу...") if account.balance ~= nil then account.balance = 999999 print("Взлом удался!") else print("Ошибка: прямой доступ к балансу запрещён") end account:show_balance()