lua簡單類的實現

2021-09-07 12:26:50 字數 965 閱讀 8596

類實現:

myclass = class("myclass")

--這句話是重定義元表的索引,必需要有

myclass.__index = myclass

function myclass:test(x,y)

local temp = {}

setmetatable(temp, myclass) -- 必需要有

self.x=x

self.y=y

return self

endfunction myclass:printf123()

print(self.x,self.y)

end

呼叫

obj = myclass:test(17,28)

obj:printf123()

類繼承:

這裡繼續使用上面的**

testclass = 

//和類定義一樣。表索引設定為自身

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

endfunction testclass:myprintf()

print(self.x,self.y,self.c)

end

Lua類的實現

cocos2dx中有關於lua類的實現,見cocos原始碼 framework functions。先講一部分比較難理解的 function class classname,super local cls inherited from lua object if super then cls set...

Lua簡單使用,lua工具類編寫,lua表的使用

專案中的工具類編寫,以utils.lua為例 首先建立乙個表。utils utils or 尋找陣列中某個值的下標 utils utils or 尋找陣列中某個值的下標,僅在table中每個值都不一樣時有效 utils.findidxbyvalue function arr,value local ...

lua實現類的繼承

local class function class super local class type class type.ctor false class type.super super class type.new function local obj do 遞迴呼叫建構函式,實現構造基類的資料...