Lua多重继承 Lua多重继承代码实例

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Lua多重继承 Lua多重继承代码实例

  2021-03-21 我要评论
想了解Lua多重继承代码实例的相关内容吗,在本文为您仔细讲解Lua多重继承的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Lua,多重继承,下面大家一起来学习吧。
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())

猜您喜欢

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们