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)文章
Openresty服務(wù)器使用lua腳本寫的Hello World簡單實(shí)例
這篇文章主要介紹了Openresty服務(wù)器使用lua腳本寫的Hello World簡單實(shí)例,OpenResty (也稱為 ngx_openresty)是一個(gè)全功能的 Web 應(yīng)用服務(wù)器。它打包了標(biāo)準(zhǔn)的 Nginx 核心,很多的常用的第三方模塊,以及它們的大多數(shù)依賴項(xiàng),需要的朋友可以參考下2015-04-04
Lua協(xié)同程序(COROUTINE)運(yùn)行步驟分解
這篇文章主要介紹了Lua協(xié)同程序(COROUTINE)運(yùn)行步驟分解,本文著重分解協(xié)同程序的運(yùn)行步驟,需要的朋友可以參考下2015-01-01

