【发布时间】:2021-08-16 00:54:43
【问题描述】:
我对 Lua 的继承有困难。 我收到一个错误
“错误:main.lua:32:尝试调用字段'String'(一个零值)”
我误会了什么? 我不明白我的例子与:https://www.lua.org/pil/16.2.html
Animal = {}
function Animal:New()
a = {}
setmetatable(a,Animal)
a.__index = Animal
return a
end
function Animal:String()
print("I am an animal")
end
Cat = {}
function Cat:New()
c = Animal:New()
setmetatable(c,Cat) -- Set metatable to be Cat
c.__index = Animal -- Inherits from Animal
return c
end
-- Overwriting Bark
function Cat:String()
print("I am a cat")
end
c = Cat:New() -- Should return a cat
print(c:String())
【问题讨论】:
标签: inheritance lua