如何用Lua Metatables实现OO?

问题描述:

我从来没有能够完全理解Lua如何在编程中使用metatables来实现Object Orientation。我一直在阅读试图了解的在线教程目录,然而作者是在经验丰富的程序员的脑海里写下的,而我并不是这样写的。有了抽象的想法和非小说友好的变数和解释,走得有点艰难。 Here is a link to the Object Orientation page on Lua's website.如何用Lua Metatables实现OO?

任何人都可以给如何实现noob友好的解释?我为我玩的游戏(不是魔兽)做了一些脚本,并且我想通过使用它来使我的代码更好。谢谢!

在Lua中编写OO的方法有很多种。 012aLua的机制,而不是政策。 最好的来源是chapter in Roberto's book on Object-Oriented Programming。绝对noob友好。 好书。链接是以前的版本,免费在线。 但是你将要购买最新版:-)

免责声明:我,我开发了一个库的人喜欢你的中产阶级

的开发商。它叫做MiddleClass

它方便地隐藏了metatables,所以你可以专注于面向对象的东西。如果你想在底下看一下,它也被合理地评论过。

还有一个wiki page解释如何使用它。