Lua 类的继承与函数override
2015-11-04 00:48
579 查看
Lua中没有类的概念,但是程序猿说要面向对象,然后就有类。程序猿说要继承 和override,然后就有了继承 和 override 。
这里用 Person 和 Student 来作为例子。有少许解释在代码中,详细的理解请看上一篇 Lua类的实现
基类 Person.lua
派生类 Student.lua
测试类 test.lua
代码打包下载
这里用 Person 和 Student 来作为例子。有少许解释在代码中,详细的理解请看上一篇 Lua类的实现
基类 Person.lua
local Person = {} function Person:Create() -- body setmetatable(Person,{__index=Person}) local p={} setmetatable(p,{__index=Person}) return p end function Person:talk( words ) -- body print("Person say " ..words) end function Person:jump() print("Person jump") end return Person
派生类 Student.lua
local Student = {} local Person= require("Person") function Student:Create() setmetatable(Student,{__index=Person}) --设置Student的 __index 为Person,这样在Student中找不到的就会去Person中找 local s={} setmetatable(s,{__index=Student}) --设置s 的 __index 为Student return s end function Student:run(speed) print("Student run speed=" .. speed) end function Student:jump() print("Student jump"); end return Student
测试类 test.lua
local Student = require("Student") local Person = require("Person") local student1=Student:Create() student1:talk(" hello") student1:jump() student1:run(123) local person1=Person:Create() person1:talk(" hello") person1:jump()
代码打包下载
http://download.csdn.net/detail/cp790621656/9239853
http://pan.baidu.com/s/1jGCm2Fk
相关文章推荐
- lua几点注意和脚本操作gui文件
- Lua1.0 代码分析 table.c
- Lua1.0 代码分析 inout.c
- lua的table库中的常用函数总结
- Lua 中实现类
- lua 字符串处理
- ZeroBrane Studio远程调试Lua程序
- lua语言中transpose()函数的用法
- itorch notebook上遇到的常见问题及其解决方案(一)
- tolua总结(一)
- Lua类型判断和转换的简易方法
- MyBatis:The expression 'list' evaluated to a null value
- C++ 中调用 Lua 函数
- tolua++ 编译 及使用 简单介绍
- FusionCharts XT Evaluation最新版简单去除水印的另类方法
- sublime text2 之 lua环境的搭建
- Lua1.0 环境准备
- Lua1.0 文件简介
- Lua1.0 脚本初步印象
- Lua1.0 编译准备