lua中table的单继承与多继承
Table单继承(元表)
account = {} function account:new( o ) o = o or {} setmetatable(o,self) self.__index = self return o -- body end
function account:show( v )
print(self.bb…v)
– body
end
a = account:new({bb = 'aa'})
a:show('bb') – aabb
Table多继承(不常用)
local function search(k,plist )
– body
for i=1,#plist do
local v = plist[i][k]
if v then
return v
end
end
endfunction createClass( … )
– body
local c = {}
local parent = {…}
setmetatable(c,{__index = function ( t,k )
– body
return search(k,parent)
end})c.__index = c function c:new(o ) -- body o = o or {} setmetatable(o,c) return o end
end