Привет, я придумал свой велосипед для реализации прототипного подхода ООП в Lua. Основные фишки
* Single inheritance
* Traits
* LuaJIT
Перейдем сразу к примерам.
-- подключаем модуль
local object = require("object")
-- определяем наш класс, который на самом деле объект
local HelloClass = object:extend(function(class)
-- конструктор (необязательно)
function class:init(name)
self.name = name
end
-- метод класса
function class:sayHello()
print("Hello " .. self.name)
end
end)
local hello = HelloClass:new("John")
hello:sayHello()
[Читать дальше →][1]
[1]:
http://habrahabr.ru/post/259145/#habracut