加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

也来一份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】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读