Lua 实现C#中的类

如题所述

class.lua

以下是代码示例:

主要是通过lua中原方法实现继承关系,class作为一个全局函数,在class函数中为声明一个新的类,并声明new函数作为模拟C#中 new XXX(...)语法, 使用方法为XXX.new(...)生成对应类的实例。在不同的开发需求中,可以根据需求不同,在new函数中实现不同的逻辑,例如上面代码中的onCreate就是在声明一个类的实例时候调用的,可以理解为构造方法。另外在具体的开发需求中,默认mt也可以根据需求来定制,为类添加默认属性。

test.lua

在测试代码中,继承关系如下:

HaShiQi/JinMao : Dog : Animal

BoSiMao : Animal

在输出结果中可以看到,HaShiQi和JinMao具有Animal和Dog的属性,而BoSiMao只有Animal的属性。

此文只是提供一个简单的用Lua实现类的大体思路,具体实现方式可以自由扩展。
温馨提示:答案为网友推荐,仅供参考
相似回答