lua实现继承
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() -- 基类方法二 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |