lua middleclass 的一个要注意的问题,静态属性
来源:互联网 发布:2017年度网络流行语 编辑:程序博客网 时间:2024/06/10 16:12
lua 中没有类,
lua middleclass 实现了类。
github地址: https://github.com/kikito/middleclass
今天写代码的时候遇见一个问题,纠结了一下午。
最后发现 用middleclass,实例化多个对象时,好像后面的对象会覆盖前面对象的 其基类中的属性。
做了个测试如下:
类A,(类B的基类):
类B, (类A的子类):
测试代码:
测试结果:
结果有问题, b1.property.aaa 已经被篡改成和 b2的相同了。
结论: middleclass 的对象属性不能为表。否则在实例化时各子类对象,将会共用这个属性,先实例化的这部分属性会被后实例化的覆盖。
可以将类A(B的基类)这样改一下:
测试代码不变。
结果:
结果正确,各对象的属性不同。
今天想明白了,这个共用、覆盖的特性正好用来作为静态属性。
这样声明的变量:
A.static.xxx = nil
实际会自动先创建一个 A.static = {}
阅读全文
0 0
- lua middleclass 的一个要注意的问题,静态属性
- middleclass.lua分析
- Lua基础需要注意的问题
- Lua middleclass(v4.1) 解析
- vc链接静态库的时候要注意的问题
- vc链接静态库的时候要注意的问题
- vc链接静态库的时候要注意的问题
- vc链接静态库的时候要注意的问题
- vc链接静态库的时候要注意的问题
- 一个SQL语句要注意的问题
- [C] 一个要注意的输入输出问题
- CreateProcess要注意的一个问题
- 使用MYSQL_BIND 要注意的一个问题
- 关于time_t要注意的一个问题
- 一个应该注意的问题
- 使用静态数组应该注意的问题
- 使用静态数组应该注意的问题
- java静态方法注意的问题
- hdu 1754 基础线段树
- fast rcnn 代码解析(一)
- 用java编写欧氏距离,标准欧氏距离,以及当输入是一个矩阵时返回一个欧氏距离数组
- 设计模式学习笔记三:简单工厂(Simple Factory)
- 原型理解
- lua middleclass 的一个要注意的问题,静态属性
- 8.9 17倍times17 2492
- char *转WCHAR *
- 大话数据结构 code 第八章 02二叉排序树_BinarySortTree
- SQL Date 函数
- JavaSE:二维数组的经典例题:打印杨辉三角的前十行
- win10通过system32中的winbio.dll实现指纹识别的方法
- MyEclipse的项目出现红色感叹号的三种解决办法
- javascript(三)