quick中提供了class 的语法糖,不建议在大型项目特别是服务器中使用。无法保证继承的效果,你会发现以下的问题
local a = class('a')
function a:ctor()
self.m = 0
end
function a:setm(m)
self.m = m
end
function a:checkm()
print self.m
end
class b = class('b', a)
local tmp = b.new()
b:setm(8)
--在去调用checkm的时候发现仍然是0
所以在lua中最好的方式是使用组合,而不要继承。
https://www.processon.com/i/568c6ea4e4b0e51d149a085f
这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐。