模块
模块是一个独立的空间,一个独立的环境,访问模块成员需要先require,并使用“模块名.成员名称”的格式访问。注意:模块是一个table。
类
在lua中所有对象都是一个table,类也是一个table,但类应该是一个只读的table,类的定义是通过创建一个模块实现的。
lua代码:
[plain] view plaincopyprint?
- module("Student",package.seeall)
- function study(self)
- end
module("Student",package.seeall) function study(self) end
在调用module方法时添加package.seeall参数的作用是:让该模块可以访问全局变量。
对象
对象是一个类的实例,在Lua中对象是一个table,在Lua中类更像是一个原型(一个只读的对象)。
通过设置tableA的元表的__index字段为tableB,当读tableA中没有的字段时就会从tableB中读该字段。
可以先创建一个空table,然后通过设置元表的方式,创建一个对象,当访问该对象没有的字段时就会在类中寻找。
lua代码:
[plain] view plain