Загрузка страницы

Редактор карт #34 [Lua]: Костыльный ООП (Объектно Ориентированное Программирование в Lua)

Рассмотрим способ реализации ООП в Луа. А именно создание экземпляров класса и наследование.

Кусок кода урока
-------------------------------------------
-- Наследует все свойства и методы родителя
function Inherit(parent, instance)
local newInstance = {}
if instance ~= nil then
newInstance = instance
end

setmetatable(newInstance, { __index = parent })
return newInstance
end

-- "Класс" сумки
local Bag = {
arrows = 15,
coins = 8
}

-- Возвращает экземпляр класса
function Bag:New (config)
return Inherit(self, config)
end

-- Достаем одну стрелу из сумки
function Bag:takeArrows ()
self.arrows = self.arrows - 1
print(self.arrows)
end

-- Создаем экземпляр сумки с новым значением
local DeepBag = Bag:New({
bananas = 5
})

print(DeepBag.arrows)
print(DeepBag.bananas)

-- Создаем экземпляр сумки,
-- перетераем количество стрел на свое значение
local VeryDeepBag = Bag:New({
arrows = 50
})

print(VeryDeepBag.arrows)
-------------------------------------------

Опять на всякий случай. Кому не терпится и хочется поглядеть карту с выбором героев - можно скачать уже сейчас
https://yadi.sk/d/HWXCs7LDYBfZJA

Так же не забываем подписыватья!
http://www.youtube.com/subscription_center?add_user=Tokomotbl4

Видео Редактор карт #34 [Lua]: Костыльный ООП (Объектно Ориентированное Программирование в Lua) канала EponeshTutorial (Tokomotbl4)
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
19 февраля 2020 г. 23:20:47
00:20:24
Другие видео канала
Яндекс.Метрика