• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

LUA 面向对象

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1  继承,用元表的__index来实现

2  类实例,方法和具体数据绑定。可以设置一张表来共享所有方法

3  objtable:func(...) 调用表的函数时,会把objtable赋值给self,这样函数体里面可以直接使用self访问表的数据

4  例子

classA = {}                  -- 元表

classA.__index = classA  -- __index字段指向自己,这样就会查找元表里面的字段

 

function classA:hello()

         print("classA:hello", self.x, self.y)

end

 

function classA:new(x, y) --创建实例,就是返回一个绑定了具体数据的普通table

         local tb = {}

         tb.x = x

         tb.y = y

         setmetatable(tb, classA) -- 设置元表,这样可以共享元表里面的函数

         return tb

end

 

obj = classA:new(100, 200)

obj:hello() --冒号调用,这样self参数就是obj

 

obj2 = classA:new(300, 400)

obj2:hello()


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Unity插件]Lua行为树(六):打印树结构发布时间:2022-07-22
下一篇:
eclipse安装lua发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap