Lua多重繼承代碼實(shí)例
更新時(shí)間:2015年04月22日 11:11:36 投稿:junjie
這篇文章主要介紹了Lua多重繼承代碼實(shí)例,本文直接給出實(shí)例代碼,需要的朋友可以參考下
local function search(k, plist)
for i, v in pairs(plist) do
local temp_v = v[k]
if temp_v then
return temp_v
end
end
end
function createClass(...)
local c = {}
local parents = {...}
--父類列表中搜索方法
setmetatable(c, { __index = function(t, k) return search(k, parents) end } )
c.__index = c
--定義一個(gè)新的構(gòu)造函數(shù)
function c:new(o)
o = o or {}
setmetatable(o, c)
return o
end
return c
end
Named = {}
function Named:getname()
return self.name
end
function Named:setname(n)
self.name = n
end
local NamedAccount = createClass(Account, Named)
account = NamedAccount:new({name = "Paul"})
print(account:getname())
您可能感興趣的文章:
相關(guān)文章
Lua中使用元表(metatable)執(zhí)行算術(shù)類元方法實(shí)例
這篇文章主要介紹了Lua中使用元表(metatable)執(zhí)行算術(shù)類元方法實(shí)例,本文給出了加法、減法、乘法、除法、相反數(shù)、取模等內(nèi)容,需要的朋友可以參考下2014-09-09
Lua中變相實(shí)現(xiàn)continue跳出循環(huán)
這篇文章主要介紹了Lua中變相實(shí)現(xiàn)continue跳出循環(huán),Lua中是沒有continue的,本文使用一個(gè)小技巧實(shí)現(xiàn)了跟continue一樣的效果,需要的朋友可以參考下2014-12-12

