Lua的多重继承问题

Lua要实现A继承B,B继承的效果,现在创建对象self.super.ctor(self)调用父类构造方法会报错,改了下底层也不行,请问有解决方案吗?

直接用表extend 不行吗?相当于interface

不行,如果是A继承B一层继承是没问题的,现在我需要A继承B,B继承C,这样多重继承就不行了

可能你需要这样处理了
例如定义A的时候 A.super.ctor(self)

1赞

点赞,试了下这样可行的,那A继承B单继承也用这种写法A.super.ctor(self)也没问题吧?跟self.super.ctor(self)调用有啥不同吗?

不管怎么继承self 都是最新的那个, 如果多重继承随便在那一层的self 都是最后类的对象, 所以self.super 都是最新类的父类。 2层继承没关系, 多层就不行了

1赞

好的,了解了,谢谢

恩,楼上的同学说的没问题,这个跟java 的写法有点区别,之前遇到过类似的问题。

好的,感谢解答