Lua學習筆記--物件導向(三)
Lua透過Self指標實現物件導向.
物件其實是一個table,table不僅包括資料,還包括函式
account={balance=10}
function account.withdraw(self,v)
self.balance=self.balance-v
end
local a=account
account=nil
a.withdraw(a,2)
print(a.balance)
self是每個函式的第一個引數,這樣寫起來很麻煩.
如果透過冒號(:)呼叫,則可以自動省略第一個引數的self
a:withdraw(2)
print(a.balance)
或者在定義的時候,直接構造物件.
account={
balance=10,
withdraw= function(self,v)
self.balance=self.balance-v
end
}
function account:deposit(v)
self.balance=self.balance+v
end
account:withdraw(2)
print(account.balance)
account:deposit(2)
print(account.balance)
物件其實是一個table,table不僅包括資料,還包括函式
account={balance=10}
function account.withdraw(self,v)
self.balance=self.balance-v
end
local a=account
account=nil
a.withdraw(a,2)
print(a.balance)
self是每個函式的第一個引數,這樣寫起來很麻煩.
如果透過冒號(:)呼叫,則可以自動省略第一個引數的self
a:withdraw(2)
print(a.balance)
或者在定義的時候,直接構造物件.
account={
balance=10,
withdraw= function(self,v)
self.balance=self.balance-v
end
}
function account:deposit(v)
self.balance=self.balance+v
end
account:withdraw(2)
print(account.balance)
account:deposit(2)
print(account.balance)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1850567/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Lua學習(二)物件導向物件
- 【python 物件導向】 python物件學習筆記《1》Python物件筆記
- Python 3 學習筆記之——物件導向Python筆記物件
- Flutter學習筆記(8)--Dart物件導向Flutter筆記Dart物件
- Python學習筆記|Python之物件導向Python筆記物件
- js高階 物件導向 學習筆記JS物件筆記
- 物件導向筆記物件筆記
- Python 學習筆記之類「物件導向,超類,抽象」Python筆記物件抽象
- Python 物件導向筆記Python物件筆記
- 程式設計基礎·Java學習筆記·物件導向(下)程式設計Java筆記物件
- Python3:物件導向程式設計學習筆記(2)Python物件程式設計筆記
- Go 筆記之物件導向Go筆記物件
- Lua 學習筆記(上)筆記
- JavaSE第三章筆記(物件導向1)Java筆記物件
- 學習Rust 物件導向Rust物件
- C#學習筆記(六)——物件導向程式設計簡介C#筆記物件程式設計
- javascript 物件導向學習(三)——this,bind、apply 和 callJavaScript物件APP
- (Java筆記)物件導向基礎Java筆記物件
- lua課程學習筆記筆記
- PHP學習4——物件導向PHP物件
- 初學Solidity(三):Solidity物件導向Solid物件
- PHP 物件導向 (九)物件導向三大特徵PHP物件特徵
- [筆記]物件導向的程式設計筆記物件程式設計
- Java課堂筆記(二):物件導向Java筆記物件
- 《JavaScript 物件導向精要》 讀書筆記JavaScript物件筆記
- C#學習筆記(一)--- 物件導向的思想和類的定義、物件的建立C#筆記物件
- PHP物件導向(三)PHP物件
- 菜鳥學習筆記:Java基礎篇1(基礎語法、物件導向)筆記Java物件
- Cris 的 Scala 筆記整理(七):物件導向筆記物件
- python第五次筆記---物件導向Python筆記物件
- Python學習筆記 9.0 模組 與 包 與 物件導向版學員管理系統Python筆記物件
- Python物件導向三大特性是什麼?Python學習教程!Python物件
- 熱更新語言--lua學習筆記筆記
- java學習——物件導向之繼承Java物件繼承
- 物件導向三大特徵物件特徵
- ES6學習筆記(三)【函式,物件】筆記函式物件
- Redis學習筆記(三)使用Lua指令碼實現分散式鎖Redis筆記指令碼分散式
- Promise 物件學習筆記Promise物件筆記
- 物件導向-物件導向思想物件