Lua 物件導向

2022-06-10 09:48:10 字數 1453 閱讀 2108

物件導向

組成:成員變數、成員函式

要求:每個物件,由類生成,有自己的成員變數、使用共同的成員函式

lua構造物件導向

原理用table表示成員變數

用function表示成員函式

用metatable關聯物件和類

實現

1

--空類

2 class ={}34

--指向自己

5 class.__index =class67

--成員變數

8 class.val = "

class"9

10--

成員函式

11function class:print() --

相當 class.print(self)

12print("

class:print val =

"..self.val)

13end

1415

function

class:modify()

16 self.val = "

modify"17

end18

19--

建構函式

20function

class:new(initval)

21--

申請空間

22local object ={}

2324

--初始資料

25 object.val =initval

2627

--關聯class

28setmetatable

(object,class)

2930

--返回物件

31return

object

32end

3334

--test

35local obj = class:new("

object")

36print("

before modify")

37 class:print

()38 obj:print

()39

print("

after modify")

40obj:modify()

41 class:print

()42 obj:print

()43

44--

output

45--

before modify

46--

class:print val = class

47--

class:print val = object

48--

after modify

49--

class:print val = class

50--

class:print val = modify

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 ...

Lua 物件導向

我們知道,物件由屬性和方法組成。lua中最基本的結構是table,所以需要用table來描述物件的屬性。lua中的function可以用來表示方法。那麼lua中的類可以通過table function模擬出來。至於繼承,可以通過metetable模擬出來 不推薦用,只模擬最基本的物件大部分夠用了 l...