zoukankan      html  css  js  c++  java
  • lua实现多继承

    http://my.oschina.net/u/156466/blog/401576
    local class1 = {} function class1:new() local obj = {} setmetatable(obj, {__index= class1}) return obj end function class1:print1() print("class1:print()") end function class1:print2() print("class1:print()") end local class2 = {} function class2:new() local obj = {} setmetatable(obj, {__index= class2}) return obj end function class2:print2() print("class2:print()") end local class3 = {} function class3:new() local obj = {} setmetatable(obj, {__index= class3}) return obj end function class3:print2() print("class3:print()") end function class3:print3() print("class3:print()") end function super(k, list) for i,v in ipairs(list) do local ret = v[k] if ret then return ret end end end local class = {} function class:new(...) local obj = {} -- local base = {class1, class2} local base = {...}; --t为调用的对象,k为方法名 setmetatable(class, {__index= function(t,k) return super(k, base) end}) setmetatable(obj, {__index = class}) return obj end local c = class:new(class2,class1,class3); -- c:print1(); c:print2(); -- c:print3();
  • 相关阅读:
    python爬取网络上图片【小例子】
    python统计英文单词出现次数【小例子】
    python敏感字处理【小例子】
    platform操作系统信息
    迭代器
    xxxxx
    test
    Jquery
    Jquery二
    DOM文档对象模型
  • 原文地址:https://www.cnblogs.com/602147629/p/5181266.html
Copyright © 2011-2022 走看看