Slua metatable元表設置
parentMain.txt
__index是兩個下底線
baseMain = {}
function baseMain:new(xxxchildMainClass)
--設定自己為元表
local _base = setmetatable({},{__index = baseMain})
local _super = getmetatable(_base)
setmetatable(xxxchildMainClass,_super)
_base.super = setmetatable({},_super)
--把childClass設為baseMain的元表
local _child = setmetatable(_base,{__index = xxxchildMainClass})
return _child
end
function baseMain:testBaseMain()
print("Enter Base Main")
end
return baseMain
childMain.txt
require "baseMain"
childMain = {}
function main()
end
function childMain:new()
print("lua--- run lua main function")
childMain = baseMain:new("Child Main",childMain)
end
function childMain:testBaseMain()
print("Child Main Run Test Base Main")
self.super.testBaseMain(self)
end
return childMain
呼叫childMain
require "childMain"
function main()
childMain:new()//先設定繼承
end
function start_run()
childMain:testBaseMain()
end