Lua面向对象
来源:互联网 发布:公路工程试验软件 编辑:程序博客网 时间:2024/05/16 15:13
1.封装
封装的原理是为table添加metatable
,并设置__index
元方法。例如:
People = {age =18};function People:new() local people = {}; setmetatable(people,self); self.__index = self; return people;endfunction People:growUp() self.age = self.age + 1; print(self.age);end// 测试p1 = People:new();p1:growUp();p2 = People:new();p2:growUp();
以上例子的两个对象拥有完全独立age
,而且任何有关People
的方法都是对外不可见的,这样就实现了对面向对象中类的封装。
2.继承
Man = People:new();function Man:growUp() self.age = self.age + 1; print("man's growUp: "..self.age);end// 测试man = Man:new();man:growUp(); // 输出为:man's growUp:19
以上例子重写了growUp()
方法,实现了继承的基本用法
3.多态
Lua不支持函数多态,而是支持指针多态。
person = People:new();person:growUp(); // 输出为:19person = Man:new();person:growUp(); // 输出为:man's growUp 19
0 0
- 【Lua】Lua之面向对象
- LUA 面向对象
- LUA面向对象浅析
- Lua 面向对象实现
- lua 面向对象
- Lua 面向对象
- Lua面向对象
- lua 面向对象编程
- lua面向对象
- lua实现面向对象
- lua面向对象思想
- lua 面向对象使用
- Lua的面向对象
- lua实现面向对象
- Lua面向对象
- lua中的面向对象
- lua的面向对象
- lua实现面向对象
- 使用DBCP,C3P0,druid,apache-jdbc配置JNDI数据源
- OC阅读笔记十七: "autorelease pool"降低内存峰值
- android Camera 数据流程分析
- 常见浏览器兼容性问题与解决方案
- *统计字符串中每个字符出现的个数
- Lua面向对象
- Java集合框架List,Map,Set等全面介绍
- java aqs原理浅析
- 集合去重
- 自己写的框架的问题
- android native service编写及两个服务进程通讯
- Apache commons-io LineIterator学习
- 跨进程C/S native service服务编写
- MapReduce框架在Yarn上的详解