代码如下:
-- 基类属性 Animal = {} -- 构造函数,传入的是table function Animal:new(o) o = o or {} setmetatable(o,self) self.__index=self self.wt=20 self.name="dog" return o --返回的是创建的table, 不是self end function Animal:SetInfo(wt,name) self.wt=wt self.name=name end function Animal:GetInfo() return wt,name end子类定义如下:
首先子类继承于基类--空表 但继承了基类的属性和操作 People = Animal:new() --子类方法, 这里直接给出覆盖的方法 function People:GetInfo() return self.wt,self.name,self.oth end --创建子类对象,加入自己的属性和方法 p = People:new({oth="hello world"}) print(p:GetInfo())
lua面向对象学习
最新推荐文章于 2025-08-20 12:36:32 发布
本文介绍了一个使用Lua语言实现面向对象编程的例子。通过定义一个Animal基类,并创建People子类来展示如何继承和覆盖方法。子类People添加了额外的属性并重写了GetInfo方法。
6155

被折叠的 条评论
为什么被折叠?



