Lua 的 私有性
来源:互联网 发布:java float 0 比较 编辑:程序博客网 时间:2024/04/29 14:51
今天在写背包类时,如果是C++的话,背包里面的道具无疑应该是背包类私有的,背包类应该提供对道具的增删查操作,而避免外部直接访问道具数据,所以想到用Lua实现对道具的封装。但是事与愿违。Lua 是通过闭包来实现私有的,如下:
function newAccount (initialBalance) local self = { balance = initialBalance , LIM = 1314 } local withdraw = function (v) self.balance = self.balance - v end local extra = function () if self.balance > self.LIM then return self.balance*0.10 else return 0 end end local deposit = function (v) self.balance = self.balance + v end local getBalance = function () return self.balance + extra() --[此处非self.extra()] end return { withdraw = withdraw, deposit = deposit, getBalance = getBalance, -- extra = extra, } end
如果一定要实现私有性,就要放弃Lua的继承(self)性,我选择放弃,转而使用折衷的办法来处理数据的私密性,就是学习quick的代码风格,将私有的变量和方法用命名后加下划线表示。
0 0
- Lua 的 私有性
- Lua区分公有私有接口
- cocos2dx lua Node节点 私有数据存取
- 对象私有数据的可访问性
- js的私有变量和私有方法
- 美联储:私有的中央银行
- 线程的私有数据
- Python的私有函数
- C++的私有继承
- 私有的构造函数
- 类的私有继承
- JavaScript的私有成员
- ipv4的私有地址
- javascript的私有机制
- 类的私有继承
- 私有继承的作用
- IPV4的私有地址
- 线程的私有数据
- 安卓软件安装
- x210v3开发板u-boot-2012.10移植之四---完善开发板配置,建立x210v3_config配置
- I2C驱动框架
- 指针和数组——高质量C、C++编程指南
- Training:计算几何基础
- Lua 的 私有性
- 从IBinder接口学习Proxy-Stub设计模式
- C++ IO流——1. IO流的层次架构和文件打开的几种方式。
- springMVC之一
- Android aidl Binder框架浅析
- 内部排序(一)插入排序
- kyeremal-bzoj1004-[HNOI2008]-cards-dp+polya
- Struts 2 知识笔记
- 各种数据库常用的数据类型