主页 > 知识库 > Lua多重继承代码实例

Lua多重继承代码实例

热门标签:AI电销 呼叫中心市场需求 服务外包 铁路电话系统 Linux服务器 网站排名优化 百度竞价排名 地方门户网站
local function search(k, plist)
	for i, v in pairs(plist) do
		local temp_v = v[k]
		if temp_v then
			return temp_v
		end
	end
end

function createClass(...)
	local c = {}
	local parents = {...}
	
	--父类列表中搜索方法
	setmetatable(c, { __index = function(t, k) return search(k, parents) end } )
	c.__index = c
	
	--定义一个新的构造函数
	function c:new(o)
		o = o or {}
		setmetatable(o, c)
		return o
	end
	return c
end

Named = {}

function Named:getname()
	return self.name
end

function Named:setname(n)
	self.name = n
end

local NamedAccount = createClass(Account, Named)
account = NamedAccount:new({name = "Paul"})
print(account:getname())

您可能感兴趣的文章:
  • Lua面向对象之多重继承、私密性详解

标签:黄山 湖南 仙桃 崇左 衡水 铜川 湘潭 兰州

巨人网络通讯声明:本文标题《Lua多重继承代码实例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266