原文地址:http://blog.csdn.net/qqmcy/article/details/37725177

类实现:

MyClass = class("MyClass")
--这句话是重定义元表的索引,必需要有
MyClass.__index = MyClass
function MyClass:test(x,y)
local temp = {}
setmetatable(temp, MyClass) -- 必需要有
self.x=x
self.y=y return self
end function MyClass:printf123()
print(self.x,self.y)
end

调用

obj = MyClass:test(17,28)
obj:printf123()

类继承:

这里继续使用上面的代码

TestClass = {c=0}
//和类定义一样。表索引设定为自身
TestClass.__index = TestClass
--设置类型是MyClass
setmetatable(TestClass, MyClass)
function TestClass:test1(a, b,c) local temp1 = {}
self=MyClass:test(a, b)--将对象设定为父类,这个和C++使用父类的方法同样都是用父类名MyClass调用
setmetatable(self, TestClass)--将对象自身元表设定为TestClass类
self.c = c return self
end function TestClass:myPrintf()
print(self.x,self.y,self.c)
end

lua简单类的实现的更多相关文章

  1. PHP扩展开发-简单类扩展

    今天来学习简单类扩展开发 实现目标为如下php的类 <?php class classext(){ private $username; CONST URL="http://www.g ...

  2. lua学习:lua中“类”的实现

    在之前的面试遇到考用lua实现类的题目.现在就补补这块知识点. 我们都知道Lua中的table是一个对象.拥有状态,拥有self,拥有独立于创建者和创建地的生命周期. 一个类就是一个创建对象的模具.L ...

  3. lua 定义类 就是这么简单

    在网上看到这样一段代码,真是误人子弟呀,具体就是: lua类的定义 代码如下: local clsNames = {} local __setmetatable = setmetatable loca ...

  4. Lua面向对象----类、继承、多继承、单例的实现

    (本文转载)学习之用,侵权立删! 原文地址   http://blog.csdn.net/y_23k_bug/article/details/19965877?utm_source=tuicool&a ...

  5. CentOS6.4 安装OpenResty和Redis 并在Nginx中利用lua简单读取Redis数据

    1.下载OpenResty和Redis OpenResty下载地址:wget http://openresty.org/download/ngx_openresty-1.4.3.6.tar.gz Re ...

  6. [Quick-x lua]CCLabel类数字变化动作

    之前写了个C++版本的,现在改成lua的, 两者原理是一样,但是动作的执行方式有些微区别 (因为lua无法继承CCActionInterval类,单纯使用lua的话无法调用action的update方 ...

  7. Away3d 基础 1 ---对一个简单类的解释

    转自:http://www.cnblogs.com/nooon/archive/2009/05/16/1458334.html 原英文地址: http://www.flashmagazine.com/ ...

  8. PHP扩展开发之简单类开发

    接下来我们要用扩展的形式实现以下类(演示环境:linux.php-5.5.34-src) <?php class Person { private $_name; public function ...

  9. lua简单入门

    一.安装windows下的lua环境,luaforwindows 下载最新的5.3版本,下载地址: https://sourceforge.net/projects/luabinaries/files ...

随机推荐

  1. Linux安装vmtools

    unbantu下,先把DVD的Vmwarew.gz,文件拷贝到tmp文件.然后 tar zxf VMware Tools-0....... ls cd ./intall.pl 有个文件,先拷贝到roo ...

  2. Docker推出了Docker云,给大家介绍下哈!

    Docker推出了Docker云,给大家介绍下哈. 收到了Docker官网的邮件邀请,他们推出了Docker云:https://cloud.docker.com 账号信息栏目下有: 云提供商:眼下支持 ...

  3. [IOS]mac以太网连接

    今天玩了一下苹果一体机.感觉还是蛮不错的,只是.就是用以太网连接的时候遇到了一点问题.用这篇文章记录一下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/ ...

  4. iOS开发之autoLayout constraint

    前言 ios设备的尺寸越来越多,针对一款app可能要适配到多种设备.多种尺寸.所以.我们期望我们的app可以autoLayout.本文主要介绍在Xcode中使用constraint.未来会不定期对此文 ...

  5. 0x29 总结与练习

    搜索真的菜..困扰了很久,上个星期天没休息好导致整个礼拜没有精神.. 大概完成得七七八八了吧.真是深切的体会到暴力出奇迹的疯狂啊. 3.虫食算 从末位开始枚举判断,通过加数可以推出和的字母代表的数.那 ...

  6. hdoj--2098--分拆素数和(枚举)

    分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  7. Java-MyBatis:MyBatis XML 文件

    ylbtech-Java-MyBatis:MyBatis XML 文件 1.返回顶部 1. Mapper XML 文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大, ...

  8. Java基础——StringBuffer和StringBuilder

    本节讲述2个字符串容器的区别 StringBuffer和StringBuilder区别: 1.相同点 两者都是容器(可变的字符序列),都可以对字符串进行基本的“增删改查”操作. 2.不同点 Strin ...

  9. Spinner与适配器模式总结

    今天开始编辑我的第一篇博客. ------------------------------------------------------------------------------------- ...

  10. iOS11即将到来,让我们具体了解下

    谷歌开发者大会后,苹果的WWDC终于也要来了,目前准确时间已经确定. 近日,苹果官方发出的公告显示,WWDC 2017将在北京时间6月6日凌晨1点正式进行,同时他们强调会进行现场直播,用户可以在苹果主 ...