【发布时间】:2017-03-15 11:30:59
【问题描述】:
我在搞 Lua,试图让 OOP 工作,遇到了一些问题,一切正常,但我想知道我是否遗漏了什么,或者使用它会出现意外问题实现oop的方法。
基本上我有一个基类
local BaseClass = {}
function BaseClass.new()
local self = setmetatable({}, BaseClass)
return self
end
然后是一个子类
local ChildClass = {}
function ChildClass.new()
local self = BaseClass.new()
return self
end
再次,一切正常,子类继承了基类的所有成员,据我了解,方法基本上是lua中的变量,所以它也继承了那些,然后我可以将特定的成员添加到子类中,并调用它们。所以如果它可以更好(但仍然相对轻量级),如果我会遇到意想不到的问题或者我正在做一些多余的事情,请告诉我。
【问题讨论】:
-
目前还不清楚问题是什么。如果您想要代码审查,请改为发布here。
-
您的方法是错误的:您的 ChildClass 实例不会看到 ChildClass 表中的方法(但他们会看到 BaseClass 表中的方法)。
标签: class oop inheritance lua lua-table