• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Lua > Lua面向对象编程之类的简单实现方式

Lua面向对象编程之类的简单实现方式

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了lua 面向对象,lua如何实现面向对象,lua面向对象编程,js面向对象的几种方式,面向对象的方式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

先来看一段程序:

function create(name, id)
      local obj = { name = name, id = id }
      function obj:SetName(name)
        self.name = name
      end
      function obj:GetName()
        return self.name
      end
      function obj:SetId(id)
        self.id = id
      end
      function obj:GetId()
        return self.id
      end
      return obj
   end

   o1 = create("Sam", 001)

   print("o1's name:", o1:GetName(), "o1's id:", o1:GetId())

   o1:SetId(100)
   o1:SetName("Lucy")

   print("o1's name:", o1:GetName(), "o1's id:", o1:GetId())
</div>
输出结果:
o1's name: Sam o1's id: 1
o1's name: Lucy o1's id: 100
</div>

对象工厂模式:

如前面代码的create函数

用表表示对象:

把对象的数据和方法都放进一张表内,虽然没有隐藏私有成员,但对于简单脚本来说可以完全接受

成员方法的定义:

function obj:method(a1,a2,…)…end --等价于
    function obj.method(self,a1,a2,…)…end --等价于
    obj.method=function(self,a1,a2,...)...end
</div>
成员方法的调用:

obj:method(a1,a2,...) --等价于
    obj.method(obj,a1,a2,...)
</div>

</div>

您可能想查找下面的文章:

  • 深入解读Lua中迭代器与泛型for的使用
  • Lua中函数与面向对象编程的基础知识整理
  • Lua教程(十三):弱引用table
  • Lua面向对象编程之类的简单实现方式
  • Lua模拟面向对象示例分享
  • Lua中实现面向对象的一种漂亮解决方案
  • Lua中让回调函数支持回调对象方法的解决方法
  • Lua 极简入门指南(七):面向对象编程
  • Lua中的面向对象编程详解

相关文章

  • Lua中的元表(metatable)、元方法(metamethod)详解
  • Cocos2d-x中调用Lua及HelloWorld.lua源码分解
  • Lua中的逻辑运算符使用详解
  • Lua调用自定义C模块
  • 使用Lua来扩展C++程序的方法
  • Lua面向对象之类和继承
  • openresty中使用lua-nginx创建socket实例
  • 详解Lua中的元表概念
  • Lua内置的调试器用法详解
  • Lua中的table浅析

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Lua编程示例(三):稀疏表、双端队列、格式化输出、表和循环表的格式化输出
    • Lua教程(五):迭代器和泛型for
    • 详解Lua中if ... else语句的使用方法
    • Lua中的string库和强大的模式匹配学习笔记
    • Lua性能优化技巧(二):基本事实
    • Lua编程示例(二):面向对象、metatable对表进行扩展
    • 在Lua中使用模块的基础教程
    • Lua脚本获取喜马拉雅MP3音频地址
    • Lua中的metatable介绍
    • Lua中的元方法__newindex详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有