Lua 构造函数实例化:创建新的对象
function instance:new()
local o = utils.table_clone(self)
setmetatable(o, {__index = self})
return o
end
这段代码是一个构造函数,用于创建一个新的实例对象。
首先,它通过调用utils.table_clone(self)来克隆self对象。utils.table_clone是一个工具函数,用于复制一个table对象。
然后,它通过调用setmetatable(o, {__index = self})来设置新创建的实例对象o的元表。元表中的__index字段指向self,表示当实例对象o访问一个不存在的字段时,会去self中查找该字段。
最后,它返回新创建的实例对象o。
原文地址: https://www.cveoy.top/t/topic/pLj0 著作权归作者所有。请勿转载和采集!