物件導向
組成:成員變數、成員函式
要求:每個物件,由類生成,有自己的成員變數、使用共同的成員函式
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...