Lua之模擬類與物件

2021-08-14 05:42:07 字數 757 閱讀 8071

lua中本身沒有「類與物件」的概念,但是可以使用lua語言將其模擬出來。

1.table為引用型資料

需要明確的是,值型別變數判斷相同的條件是值(內容)相同,而引用型變數判斷相同的條件為位址相同。

2.模擬過程

①類的建立

a.類:初始化乙個table來模擬

b.欄位:將其定義在table的{}中,可以賦予初值。

c.方法:格式同普通函式,但是方法名不同,應為「類名:方法名」

d.構造方法:通過setmetatable方法,設定元表(具體方法看)。可以設定相關引數,利用self進行設定。

②物件的建立

通過構造方法建立物件。

a.訪問字段:物件名.欄位名

b.訪問方法:物件名:方法名

3.self關鍵字

lua中的self與c#中的this作用類似,都表示當前類的物件。應用方法如下:

a.在構造方法中指定__index索引時self代表當前類

b.在類中使用self呼叫類中成員

4.local關鍵字

lua語言中的變數在預設情況下為全域性變數,如果某些量是區域性變數,要用local修飾。

Lua 中模擬 類

lua類 類一般都有類名,屬性宣告,構造體,方法,屬性。下面用lua實現類的模擬,類的模擬有很多種,但是都必須用到 index 下面看看 吧 宣告了類名還有屬性,並且給出了屬性的初始值。class 這句是重定義元表的索引 class.index class 構造體,構造體的名字是隨便起的,一般都叫名...

Slog55 lua物件導向之lua類

現實中的事情不是根據人的喜好而定的 比如長在你嘴裡的智齒 大部分情況下 你會因為自己 的牙 而痛苦 直到忍痛拔掉 鮮血淋漓 也許痛過之後 才能回歸正途 需要的資訊和資訊源 desktop lua learningload lua class employee.lua 檔名為 employeepack...

Slog55 lua物件導向之lua類

現實中的事情不是根據人的喜好而定的 比如長在你嘴裡的智齒 大部分情況下 你會因為自己 的牙 而痛苦 直到忍痛拔掉 鮮血淋漓 也許痛過之後 才能回歸正途 需要的資訊和資訊源 desktop lua learningload lua class employee.lua 檔名為 employeepack...