Lua多重继承代码实例

时间:2021-05-22

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 endendfunction 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 cendNamed = {}function Named:getname() return self.nameendfunction Named:setname(n) self.name = nendlocal NamedAccount = createClass(Account, Named)account = NamedAccount:new({name = "Paul"})print(account:getname())

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章