Lua创建一个类 继承
2016-06-29 20:01
393 查看
创建一个类
~~~ lua
-- 定义名为 Shape 的基础类
~~~ lua
-- 定义名为 Shape 的基础类
local Shape = class("Shape")-- ctor() 是类的构造函数,在调用 Shape.new() 创建 Shape 对象实例时会自动执行
function Shape:ctor(shapeName) self.shapeName = shapeName printf("Shape:ctor(%s)", self.shapeName) end-- 为 Shape 定义个名为 draw() 的方法
function Shape:draw() printf("draw %s", self.shapeName) end-- Circle 是 Shape 的继承类
local Circle = class("Circle", Shape) function Circle:ctor() -- 如果继承类覆盖了 ctor() 构造函数,那么必须手动调用父类构造函数 -- 类名.super 可以访问指定类的父类 Circle.super.ctor(self, "circle") self.radius = 100 end function Circle:setRadius(radius) self.radius = radius end-- 覆盖父类的同名方法
function Circle:draw() printf("draw %s, raidus = %0.2f", self.shapeName, self.raidus) end
相关文章推荐
- slua与ulua对比
- lua学习笔记--两个实例(markov chain 和 递归上台阶算法)
- lua学习笔记四--协同程序
- lua学习笔记二--函数
- lua学习笔记一 -- 基本数据类型和操作符介绍
- lua 判断颜色相似
- 在C/C++项目中集成Lua
- Uniyt热更新——LuaFrameWork学习(一)
- 用protoc-gen-lua生成PB的lua代码
- Lua脚本中释放binary文件
- lua高阶用法 OO的实现
- Lua自己实现深度克隆一个值
- lua table对象
- lua树型打印table
- openresty+lua做接口调用权限限制
- 100行lua代码实现简单目录浏览器
- lua脚本demo实例
- lua编辑器
- lua math库
- 我的第一个lua脚本