讓lua實現物件導向的方法

2021-10-03 12:24:55 字數 538 閱讀 6925

所謂物件導向,就是實現封裝,繼承,多型等物件導向的資料結構,而在c#中就是乙個類。

在lua中沒有類的物件,那麼應該如何實現類?

lua中類的概念就是通過元表來實現的。

插播一下lua中 and or not 邏輯操作:

和c語音的&&,||相比,lua的and or使用結果一樣:即a && b等價於a and b,a || b等價於a or b.

來看lua的a and b:如果a 為 true,表示式的值取決於b; a or b:如果a為false,表示式的值取決於b

a and b和a or b的本質區別是當a在什麼情況下,表示式的值不需要考慮a, 只取決於b, 這兩個運算子應該是從這個角度來設計的;

因此在記憶時,應該想到"a為何值時,只取決於b"這個模板.方式如下:

a and b:a為true時,返回b,否則返回a.

a or b:a為false時,返回b,否則返回a.

Lua的物件導向

index元方法用來對錶訪問,newindex元方法用來對錶更新 當通過鍵來訪問table的時候,如果這個鍵沒有值,那麼lua就會尋找該table的metatable 如果有metatable 中的 index鍵。如果 index指向乙個 lua會在 中查詢相應的鍵,如果 index指向乙個函式,l...

lua物件導向

直接貼 參考的也是別人的,只不過其中幾點,增加一點自己的理解 local baseclass print baseclass是 tostring baseclass 定義index屬性,指向本身 baseclass.index baseclass 定義建構函式 function baseclass ...

Lua 物件導向

記錄學習過程 建立日期 2019 04 14 物件由屬性和方法組成。lua中最基本的結構是table,所以需要用table來描述物件的屬性。lua 中的 function 可以用來表示方法。那麼lua中的類可以通過 table function 模擬出來。乙個簡單的物件導向例子 屬性 person ...