cocos2d-x-lua基础系列教程四(lua多继承)
lua - 多继承
1,模拟伪继承
新建extend_test.lua
新建extend_test.lua
setmetable(a,b)
b对象是a 对象的父类
a继承于b
Account = {
num = 10
}
function Account:new(o)
o = o or {}
setmetatable(o, self) --让o 作为Account 子类
self.__index = self --原方法的索引
return o
end
function Account:show(v)
print (self.bb + v )
end
a =Account:new {
bb = 111
}
a:show(1.0)
新建了个mutil_extend_test.lua
local function search(k, plist)
for i = 1,#plist do
local v = plist[i][k]
if v then
return 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

浙公网安备 33010602011771号