zoukankan      html  css  js  c++  java
  • Lua类对象和类对象的单例

    1、Lua的类对象

    local myClass = {}
    
    function myClass:new()
    	local self = {}
    	setmetatable(self,{__index = myClass})
    end
    
    local a = 0
    local b = 0
    local c = 0
    
    return myClass
    

    以上类的对象实例化的调用:

    require "myClass"

    local _myClass = myClass:new()

    实例化后 _myClass.a、_myClass.b、_myClass.c的初始值均为nil

    2、Lua的单例

    lua的单例的本质其实就是一个全局的字段

    myInstanceClass = {}
    
    myInstanceClass_mt = {__index = myInstanceClass}
    
    function myInstanceClass:new()
    	local self = {}
    	setmetatable(self,myInstanceClass_mt)
    end
    
    local a = 0
    local b = 0
    local c = 0
    
    return myInstanceClass --在使用全局字段的单例中,这句返回值其实可有可无,因为是全局的,所以不需要返回值也能调用。

    以上类的对象的调用:

    require "myInstanceClass"

    local _myInstanceClass1 = myInstanceClass:new()

    local _myInstanceClass2 = myInstanceClass:new()

    local _myInstanceClass3 = myInstanceClass:new()

    实例化后 _myInstanceClass.a、_myInstanceClass.b、_myInstanceClass.c的初始值均为nil

    任何时时候以下三个对象之一的值变化的时候_myInstanceClass1 、_myInstanceClass2 、_myInstanceClass3,另外两个对象的值也同时会变化。

  • 相关阅读:
    Storyboard里面的几种Segue区别和视图的切换
    2014年12月英语单词
    测试和调试的区别
    黑苹果安装教程(一)
    IOS基础——IOS学习路线图(一)
    遇到Wampserver遇到的问题
    产生不重复的数字
    简单的布局
    2014年8月
    算法小全
  • 原文地址:https://www.cnblogs.com/vsirWaiter/p/7566490.html
Copyright © 2011-2022 走看看