lua 继承 调用父类方法
时间: 2023-08-04 07:20:50 浏览: 227
Lua实现类继承
在 Lua 中可以使用冒号操作符(:)来调用父类方法。具体实现方式如下:
```lua
-- 定义一个基类 Animal
Animal = {}
function Animal:new(name)
local obj = {}
obj.name = name
setmetatable(obj, self)
self.__index = self
return obj
end
function Animal:speak()
print("Animal speaks.")
end
-- 定义一个子类 Dog
Dog = Animal:new()
function Dog:speak()
Animal.speak(self)
print("Dog barks.")
end
-- 测试调用父类方法
local animal = Dog:new("Dog")
animal:speak() -- 输出 "Animal speaks." 和 "Dog barks."
```
在这个例子中,Animal 是一个基类,Dog 是 Animal 的子类。在 Dog 中重载了 speak 函数,使用 Animal.speak(self) 调用了父类的 speak 函数,然后输出了 "Dog barks."。在测试中,创建了一个 Dog 对象,并调用了它的 speak 函数,输出了 "Animal speaks." 和 "Dog barks."。
阅读全文