国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

Lua實現(xiàn)類繼承

2024-07-21 23:04:24
字體:
供稿:網(wǎng)友

mulInherit.lua

 

復(fù)制代碼 代碼如下:

--[[
author:looyer@sina.com
date:2014/7/18
purpose:lua的繼承演示
--]]
--- base class "Object"
local Object = {_t = "Object"}
function Object:new(id)
    local o =
    {
        _id = id
    }
    setmetatable(o, self)
    self.__index = self
    return o
end
function Object:type()
    return self._t
end
function Object:id()
    return self._id
end
--- class "Widget" driver from "Object"
local Widget = {_t = "Widget"}
setmetatable(Widget, Object)
function Widget:new(id)
    local o =
    {
        _id = id,
    }
    setmetatable(o, self)
    self.__index = self
    -- function (tb, key)
    --  return self[key]
    -- end
    return o
end
-- function Widget:id()
--  return self._id
-- end
--- class "Drawor" driver from "Object"
local Drawor = {_t = "Drawor"}
setmetatable(Drawor, Object)
function Drawor:new(id, name)
    local o =
    {
        _id = id,
        _name = name,
    }
    setmetatable(o, self)
    self.__index = self
    return o
end
function Drawor:name()
    return self._name
end
--- class "DrawPlane" driver from "Widget" and "Drawor"
local DrawPlane = {_t = "DrawPlane", _father = {Widget, Drawor}}
function DrawPlane:new(id)
    local o =
    {
        _id = id,
    }
    setmetatable(o, self)
    self.__index =
    function (tb, key)
        if self[key] then return self[key] end
        for _, v in pairs(self._father) do
            if v._t == key then return v end
            if v[key] then return v[key] end
        end
    end
    return o
end
local varA = Object:new()
local varB = Widget:new(10)
local varC = Drawor:new(30, "dwr")
local varD = DrawPlane:new(51)
print("varA type:", varA:type())
print("varB type:", varB:type())
print("varB._id: ", varB._id, varB:id())
print("varC name: ", varC:name())
print("varD type: ", varD:type())
print("varD id: ", varD:id())
print("varD father Widget--", varD.Widget:type())

 

以上就是本文所要分享的代碼了,希望大家能夠喜歡。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 偃师市| 平南县| 乌苏市| 淮安市| 儋州市| 扎兰屯市| 宿松县| 库车县| 陆川县| 专栏| 醴陵市| 塘沽区| 江油市| 沾化县| 晋中市| 来安县| 常德市| 通城县| 浦北县| 嫩江县| 德惠市| 柞水县| 江口县| 铁岭市| 丹棱县| 清水河县| 厦门市| 西青区| 河东区| 漠河县| 赣榆县| 靖宇县| 孝义市| 二连浩特市| 芜湖市| 前郭尔| 林州市| 文山县| 福海县| 都江堰市| 土默特左旗|