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进行面向对象的编程,声明方法和调用方法统一用冒号,对于属性的调用全部用点号

你可能感兴趣的:(lua/python)