也来一份Lua模拟面向对象。
发布时间:2020-12-14 22:55:55 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 function class(super)local mt = {__call = function(_c,...) local function create(_c,_o,...)if _c.__super then create(_c.__super,...) endif _
|
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 function class(super)
local mt = {__call = function(_c,...)
local function create(_c,_o,...)
if _c.__super then create(_c.__super,...) end
if _c.__ctor then _c.__ctor(_o,...) end
return _o
end
local _o = create(_c,{},...)
return setmetatable(_o,_c)
end}
mt.__index = super or mt
return setmetatable({__super = super},mt)
end
----------------------------------------------------------------------
A = class()
function A:__ctor(s)
self.i = 123
self.j = 333
print('A ctor',s)
end
local a = A('a')
print(a.i,a.j)
-- B继承A
B = class(A)
function B:__ctor(s)
self.i = 444
print('B ctor',s)
end
local b = B('b')
print(b.i,b.j)
以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
