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