--[[table中存储变量,变量表示其状态,其中的函数可以看成是成员函数]]
Acount={ balance=0 } --[[一个table实例对应了一个类]]
function Acount.withdraw(v)
Acount.balance=Acount.balance -v --[[这样定义的withdraw函数只针对Acount 对象使用,如果Acount不存在了,withdraw将不能使用]]
end
Acount.withdraw(100)
print(Acount.balance)
ax=Acount;Acount=nil --[[Acount table 已经不存在了]]
ax.withdraw(100) --[[withdraw函数只能被Acount 使用]]
--[[这样违背了对象的独立的生命周期]]
--[[table可以用一个字段来指定一项操作的“接受者”,这个字段通常称为 self或者this,在实现的过程中可以是任意的字符串]]
Lua笔记17 面向对象类
最新推荐文章于 2024-03-29 20:31:15 发布