Lua类的声明与定义
在文件中"AInfoClass.lua"声明并定义一个Lua类。
local AInfoClass = {}function AInfoClass.New(id)local tempTab = {}tempTab.id = idsetmetatable(tempTab, {__index = AInfoClass})tempTab:InitClass()return tempTab
endfunction AInfoClass:InitClass()self.name = tostring(self.id .."_Name")self.val = self:GetValue()
endfunction AInfoClass:GetValue()return 199
endfunction AInfoClass:PrintInfo()local str = string.format("id=%s,name=%s,val=%s", self.id, self.name,self.val)print(str)
endreturn AInfoClass
Lua 类的使用
在新的文件中"ATestClass.lua"声明定义一个Lua类对象
local AInfoClass = require("AInfoClass")local info = AInfoClass.New(1899)
info:PrintInfo()---判断info.PrintInfo2 是否存在
if info.PrintInfo2 thenprint("info.PrintInfo2 exist !!")
elseprint("info.PrintInfo2 not exist !!")
end
输出运行结果
id=1899,name=1899_Name,val=199
info.PrintInfo2 not exist !!