Lua多重继承代码实例
程序员文章站
2022-07-05 11:03:39
local function search(k, plist)
for i, v in pairs(plist) do
local temp_v = v[...
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())
上一篇: Lua中的函数代码实例
下一篇: Lua中获取table长度问题探讨