- 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 多重继承
最新推荐文章于 2019-12-04 08:07:03 发布