lua 之多重继承

来源:互联网 发布:淘宝订单金额字体 编辑:程序博客网 时间:2024/05/10 01:01
local  function search(k, plist)for i, v in pairs(plist) dolocal temp_v = v[k]if temp_v thenreturn temp_vendendendfunction 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 oendreturn 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())

原创粉丝点击