cocos2d-x-lua基础系列教程三(lua面向对象)

lua 类
Lua 事实上不是面向对象语言
我们能够用table 模拟仿照面向对象编程

lua 中的this 类似的是self 
table 也具有生命周期

2,使用table  创建类
projedtTest.lua 

Account = { balance = 0 }
function Account .count( self,v)
 self.blance = self.balance + v
 print("value is :"..self.balance)
end

a = Account
Account = nil //破坏面向对象的方式
a.count("100")

//訪问方式
tt = Account;
tt.count (tt,12)

tt:count(12) //默认把 self作为參数传入到account中

4,不使用self 改写

function Account:myToString()

 print ("the result is "..self.balance)

end

tt = Account;
tt:count(12)
tt:myToString()

新建一个类myClass.lua

local myClass = {
 name ="脚本小子"
}
function myClass:showName()
 print (myClass.name)
end

return myClass 

回到object_test.lua

local mytt = require("myClass")

mytt:showName()


原文地址:https://www.cnblogs.com/mengfanrong/p/4344808.html