类是包含属性与方法的一个集合。是一个键值对的集合。
可以用lua中的表来模拟类。
A = {}
A.__index = A
function A:new()
local o = {}
setmetatable(o,A)
return o
end
function A:test()
print("this is a class test")
end
--使用类A
objA = A:new()
objA:test()
--得到结果this is a class test
元表的作用:增加和改变表的既定操作。设置过元表的表,会受到元表的影响。影响是通过lua规定的元方法键值对来影响的。键名如index,__add,都是以双下划线 为前缀,其所对应的值即为函数,称为**元方法**metamethod,元方法定义了对表的自定义的操作。
__index作用:在表找不到键时执行的操作。