源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Lua多重继承代码实例

  • 时间:2020-03-26 09:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Lua多重继承代码实例
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())
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部