• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Lua面向对象编程之类的简单实现方式

    先来看一段程序:

    复制代码 代码如下:

    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())


    输出结果:
    复制代码 代码如下:

    o1's name: Sam o1's id: 1
    o1's name: Lucy o1's id: 100

    对象工厂模式:

    如前面代码的create函数

    用表表示对象:

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

    成员方法的定义:

    复制代码 代码如下:

    function obj:method(a1,a2,…)…end --等价于
        function obj.method(self,a1,a2,…)…end --等价于
        obj.method=function(self,a1,a2,...)...end

    成员方法的调用:

    复制代码 代码如下:

    obj:method(a1,a2,...) --等价于
        obj.method(obj,a1,a2,...)

    您可能感兴趣的文章:
    • Lua面向对象之类和继承
    • Lua面向对象之类和继承浅析
    上一篇:Lua中的函数写法简明示例
    下一篇:vs2012 error c4996: This function or variable may be unsafe
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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