Lua复制方式创建对象表。
来源:互联网 发布:傲盾网络加速器注册 编辑:程序博客网 时间:2024/06/07 20:14
-- 这里是用来复制目标表的所有键值的,相当于在一个空表里装好对象表中的所有内容,然后返回该表。local function Clone(obj) local object = {} for key, var in pairs(obj) do object[key] = var end return objectend-- 这里是用来把tab中的表内容,累加到target表中,也就是说,target表中也包括了tab中的表内容,相当--于继承local function CopyObj(target,tab) for key, var in pairs(tab) do target[key] = var end return targetendHuman = {}Human.new = function(name,age,height,desc) local self = Clone(Human) self.Name = name self.Age = age self.Height = height self.Desc = desc return selfendHuman.PrintInfo = function(self) print("Human name is "..self.Name,"Age:"..self.Age,"Height:"..self.Height,"Desc:"..self.Desc)endHuman.Walk = function(self) print(self.Name.." is walk.")endlocal T1 = Human.new("T1",12,22,"www.com.cn")T1:PrintInfo()T1:Walk()local T2 = {}T2 = CopyObj(T2,T1)T2.Name= "T2"T2:Walk()local Mjt = {}Mjt.new = function(name,age,height,desc) local self = Human.new(name,age,height,desc) CopyObj(self,Mjt) return selfend-- 子类自有的方法Mjt.Programmer = function(self) print("I'am Programming.")endlocal me = Mjt.new("Pants",80,20,"cabcab")me:PrintInfo()-- 重写父类方法,父类此方法不被影响me.Walk = function (self) print("Dance,Dance,Dance.")endme:Walk()me:Programmer()T2:Walk()
0 0
- Lua复制方式创建对象表。
- Lua闭包方式创建对象表。
- Lua:复制表的方式实现面向对象
- js对象创建方式
- C++ 对象创建方式
- javascript对象创建方式
- java创建对象方式
- javascript对象创建方式
- JAVA对象创建方式
- C++ 对象创建方式
- 创建对象的方式
- 创建对象的方式
- C++ 对象创建方式
- Lua table 的几种创建方式。
- Lua的面向对象实现方式
- 在lua中创建类和对象
- lua类对象创建继承和使用
- AS3中for循环创建(复制)对象
- 二级列表 checkbox
- nginx+keepalived高可用配置文档
- 济南高新区教育系统固定资产管理会在高新一中召开
- mysql 创建表添加行、列注释
- unity3d之ai操控行为术语中英文对照表
- Lua复制方式创建对象表。
- 结构体成员的偏移量与offsetof函数
- Hibernate+struts2
- 程序员上班时的各种内心戏...
- Android系统状态栏的信号图标显示流程简介
- 欢迎使用CSDN-markdown编辑器
- 页面浮动示例
- qualcomm 平台的lk启动流程
- Turn the corner(三分)