终于来了,在Lua中的面向对象编程,相信目前学习Lua的大部分人都是为了开发手机网游吧。所以大家才更习惯于继续用面向对象思想去折腾Lua吧~好了,不唠叨了,我最不喜欢唠叨了。留意TSprite的new函数,函数里创建了一个新的table,并且给新的table设置一个元表,这个元表的__index元方法就是TSprite本身,最后返回这个新的table。因此,我们利用new函数创建了who1和who2,并且调用它们的setPosition函数,最后,who1和who2的x、y值都是不同的。不知道大家有没有这样一个疑惑,那就是,为什么who1和who2的x、y是不一样的,它们最终调用的不是setPosition函数么?但,这不是重点,重点是接下来的代码:我们再次调用MoneySprite的new函数创建了一个新对象。于是,who就是是MoneySprite的对象,而MoneySprite就是TSprite的子类。

Lua面向对象之类和继承

Lua面向对象之类和继承

Lua面向对象之类和继承

Lua面向对象之类和继承