加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua实现继承

发布时间:2020-12-14 22:13:08 所属栏目:大数据 来源:网络整理
导读:lua本身没有像C++一样的继承功能 但是我们可以自己实现一个类似C++的继承功能 书本也有详细介绍,不过读起来确实费解,所以本人自己写了一个简单的继承,一目了然,用来学习很容易入手 完整代码 -- 基类 People = {} function People:new(o) o = o or {} set

lua本身没有像C++一样的继承功能

但是我们可以自己实现一个类似C++的继承功能

书本也有详细介绍,不过读起来确实费解,所以本人自己写了一个简单的继承,一目了然,用来学习很容易入手

完整代码

-- 基类 People = {} function People:new(o) o = o or {} setmetatable(o,self) self.__index = self return o end -- 基类方法一 function People.dowork() print("基类方法一") end -- 基类方法二 function People.gohome() print("基类方法二") end -- 子类继承基类 Boy = People:new() -- 子类方法一 function Boy.study() print("子类方法一") end function Boy.play() print("子类方法二") end -- 开始调用 ?这里s是子类对象,可以调用子类自有的功能,也可以调用基类的功能。。 -- 子类对象 s = Boy:new() p = People:new() print("下面是子类调用") s.study() -- 子类方法一 s.play() ?-- 子类方法二 s.dowork()-- 基类方法一 s.gohome()-- 基类方法二 print("下面是基类对象调用") --p.study() -- 这两个是子类特有的,基类对象不能调用 --p.play() p.dowork() -- 基类方法一 p.gohome() -- 基类方法二

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读