lua class.lua 封装
时间: 2023-07-20 17:16:21 浏览: 132
luaclass:Lua 的简单类
在 Lua 中,我们可以使用以下方式实现类的封装:
```lua
-- 定义一个类
local MyClass = {}
-- 构造函数
function MyClass:new(name)
local obj = {
name = name
}
setmetatable(obj, self)
self.__index = self
return obj
end
-- 成员函数
function MyClass:hello()
print("Hello, my name is " .. self.name)
end
-- 创建对象
local obj = MyClass:new("Tom")
-- 调用成员函数
obj:hello()
```
在上面的代码中,我们首先定义了一个空表 `MyClass`,然后定义了一个构造函数 `new`,用于创建对象。在构造函数中,我们使用 `setmetatable` 函数将 `obj` 对象的元表设置为 `MyClass`,并将 `MyClass` 设置为 `obj` 对象的索引,这样在访问 `obj` 对象的成员时,如果找不到,就会在 `MyClass` 中查找。接着,我们定义了一个成员函数 `hello`,用于输出对象的名字。最后,我们使用 `MyClass:new` 创建了一个名为 `obj` 的对象,并调用其成员函数 `hello` 输出对象的名字。
这样,我们就完成了一个简单的类的封装。当然,在实际开发过程中,还需要进一步完善类的功能,例如继承、多态等。
阅读全文