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

【cocos2d-x 3.5】Lua的简单面向对象

2015-05-07 01:26 549 查看
Lua的面向对象实现和元表metatable有关,下面给出2种代码

1.Lua实现

local Test = {}

Test.__index = Test
Test.A = 0

function Test :create(a)
local tb = {}
setmetatable(tb,Test )
tb.A = a
return tb
end

function Test:print()
print(self.A)
end

return Test


2.由于cocos2d-x 3.5下有对class()的封装,所以在这里又可以这样实现

local Test= class("Test")

Test.A= 0

function Test:create(a)
local tb = {}
setmetatable(tb,Test)
tb.A = a
return tb
end

function Test:print()
print(self.A)
end


测试

local Test1 = require("Test"):create(100)
local Test2 = require("Test"):create(200)
Test1:print()
Test2:print()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: