今天再看一遍项目实现lua类的方式,终于看明白了,做下记录,主要思想如下:
1.首先lua中的类肯定也是table,在类中用一个__tbl_Baseclass__的表有序存起父类(有序很关键,函数重写(覆盖)在这里给出支持),在table下增加一个元表,在原表中用__index增加对__tbl_Baseclass__的元素的访问
2.要让对实例对象的访问都转到类的定义上
其中用到的一些lua特性,例如元表、__index、rawset和rawget可以看看下面的链接:
今天再看一遍项目实现lua类的方式,终于看明白了,做下记录,主要思想如下:
1.首先lua中的类肯定也是table,在类中用一个__tbl_Baseclass__的表有序存起父类(有序很关键,函数重写(覆盖)在这里给出支持),在table下增加一个元表,在原表中用__index增加对__tbl_Baseclass__的元素的访问
2.要让对实例对象的访问都转到类的定义上
其中用到的一些lua特性,例如元表、__index、rawset和rawget可以看看下面的链接: