代码如下:
-- 基类属性 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面向对象学习
最新推荐文章于 2016-04-28 19:27:54 发布