实现lua版的C++权限和多继承


--******************************************************************
-- 文件名:    Main.lu
-- 版 权:    (C) 从这里开始
-- 创建人:    陈泽丹
-- 日 期:    2014-10-26 14:12
-- 版 本:    1.0
-- 描 述:    
--************************** 修改记录 ******************************
-- 修改人:
-- 日 期:
-- 描 述:
--******************************************************************

function AClass()
    local public = {}

    --------------------------------------------------------------------
    -- public:
    function public:AFun()
        cclog( "This AClass!" )
        return false
    end

    --------------------------------------------------------------------
    return public
end

function BClass()
    local public = {}

    --------------------------------------------------------------------
    -- public:
    function public:BFun()
        cclog( "This BClass!" )
        return false
    end

    --------------------------------------------------------------------
    return public
end


function CClass()
    local public = {}

    local publicA = AClass() or {}
    local publicB = BClass() or {}

    local public = {}
    setmetatable( publicA, publicB )
    publicB.__index = publicB
    setmetatable( public, publicA )
    publicA.__index = publicA

    return public
end



– 测试
local c = CClass()
c:AFun()
c:BFun()