首页 > 其他 > 详细

Lua学习笔记--面向对象(三)

时间:2015-12-03 02:42:18      阅读:298      评论:0      收藏:0      [点我收藏+]
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)

Lua学习笔记--面向对象(三)

原文:http://blog.itpub.net/29254281/viewspace-1850567/

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!