问题是这样的,我希望Lua对象能够重载继承自C++对象的方法,在重载的时候先调用父类方法再添加修改的部分。
类似于:
function Child:foo()
self.super:foo()
-- extra code here
end
```
我从cocos自带的例子中了解到可以使用extern.lua的class方法来实现类的继承。从源码上看只有当父类是Lua对象的时候super的值才会被设置为父类对象。
如果使用类似下边的方法来实现继承的话由于父类参数是function所以super的值是nil。
local Child = class('Child', function() return cc.Sprite:create() end)
```
直接写
local Child = class('Child', cc.Sprite:create())
```
这样的话所有的子类的父类对象都会指向一个对象。
难道就没有什么办法可以实现lua对象重载父类对象吗?