主頁 > 知識庫 > Lua多重繼承代碼實例

Lua多重繼承代碼實例

熱門標(biāo)簽:AI電銷 呼叫中心市場需求 服務(wù)外包 鐵路電話系統(tǒng) Linux服務(wù)器 網(wǎng)站排名優(yōu)化 百度競價排名 地方門戶網(wǎng)站
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
	
	--定義一個新的構(gòu)造函數(shù)
	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面向?qū)ο笾嘀乩^承、私密性詳解

標(biāo)簽:黃山 湖南 仙桃 崇左 衡水 銅川 湘潭 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Lua多重繼承代碼實例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266