Lua多重继承代码实例
时间:2021-03-07 10:32:50|栏目:|点击: 次
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
--定义一个新的构造函数
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())
上一篇:一个批量编码转换及ASP/JS加解密/简繁转换的工具
栏 目:
下一篇:Powershell小技巧之通过EventLog查看近期电脑开机和关机时间
本文标题:Lua多重继承代码实例
本文地址:http://www.codeinn.net/misctech/76216.html






