23 lines
599 B
Lua
23 lines
599 B
Lua
---Declare table as a base class
|
|
---@param cls table class table
|
|
---@param o table class instance table
|
|
---@return table o base class instance table
|
|
function Base(cls, o)
|
|
cls.__index = cls
|
|
o = o or {}
|
|
setmetatable(o, cls)
|
|
return o
|
|
end
|
|
|
|
---Declare table as a derived class
|
|
---@param cls table class table
|
|
---@param base table base class table
|
|
---@param o table class instance table
|
|
---@return table o derived class instance table
|
|
function Inherit(cls, base, o)
|
|
cls.__index = cls
|
|
setmetatable(cls, {__index = base})
|
|
o = base:new(o)
|
|
setmetatable(o, cls)
|
|
return o
|
|
end |