您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x-lua基础系列教程四(lua多继承)

2014-06-23 12:03 645 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: