Lua學習筆記--物件導向(三)

壹頁書發表於2015-12-01
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)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1850567/,如需轉載,請註明出處,否則將追究法律責任。

相關文章