Lua之模拟类与对象

Lua中本身没有“类与对象”的概念,但是可以使用Lua语言将其模拟出来。

1.table为引用型数据
需要明确的是,值类型变量判断相同的条件是值(内容)相同,而引用型变量判断相同的条件为地址相同。

2.模拟过程

①类的创建
a.类:初始化一个table来模拟
b.字段:将其定义在table的{}中,可以赋予初值。
c.方法:格式同普通函数,但是方法名不同,应为“类名:方法名”
d.构造方法:通过setmetatable方法,设置元表(具体方法看图片)。可以设置相关参数,利用self进行设置。

②对象的创建
通过构造方法创建对象。
a.访问字段:对象名.字段名
b.访问方法:对象名:方法名

这里写图片描述

3.self关键字
Lua中的self与C#中的this作用类似,都表示当前类的对象。应用方法如下:
a.在构造方法中指定__index索引时self代表当前类
b.在类中使用self调用类中成员

4.local关键字
Lua语言中的变量在默认情况下为全局变量,如果某些量是局部变量,要用local修饰。

New version:

应用了self与local关键字

猜你喜欢

转载自blog.csdn.net/LightInDarkness/article/details/78940199