setmetatable的一点总结
local obj = {}
setmetatable( obj, { __index = mission_t } )
return obj
mission_t为对应模块的文件名。
在LUA中的文件中使用module("mission_t",package.seeall )这样的形式,可以防止某些命名的冲突,相当于C++的namespace,在调用这个模块的函数的时候,加上模块名:函数名就可以了。
如果要继承某个模块,使用setmetatable( obj,{ __index = XXXX } )
XXXX为希望继承的模块名。
总结:用lua进行面向对象的编程,声明方法和调用方法统一用冒号,对于属性的调用全部用点号
补充:综合编程 , 其他综合 ,