如何将Lua面向对象编程的原理和技巧应用于复杂项目开发中?
- 内容介绍
- 文章标签
- 相关推荐
本文共计875个文字,预计阅读时间需要4分钟。
面向对象的三个基本特征:封装、继承、多态。
封装:隐藏对象的属性和实现细节,仅对外提供公共接口。
继承:子类继承父类的属性和方法,实现代码复用。
多态:同一操作作用于不同的对象,产生不同的执行结果。
面向对象的三个基本特征
- 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。
- 继承:使子类具有父类的属性、方法或者重新定义、追加属性和方法等。
- 多态:同以操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类的方法。
Lua中的面向对象
Lua中的表和对象有很多相似性,因此在Lua中可以使用表来实现面向对象。
Lua中类的方法可以通过表+function来模拟:
zhangsan = {name = ""} function zhangsan.setName(self, name) self.name = name end zhangsan.setName(zhangsan, "张三") print(zhangsan.name) --输出: --张三
类(Class)
上面的例子中,zhangsan对象拥有了属性和方法,但是这个对象却不是通过类来创建的。在大多数面向对象的语言中都提供了类的概念,类在对象创建中扮演了模板的作用。
在Lua中,我们可以使用原型的思想来模拟类。
本文共计875个文字,预计阅读时间需要4分钟。
面向对象的三个基本特征:封装、继承、多态。
封装:隐藏对象的属性和实现细节,仅对外提供公共接口。
继承:子类继承父类的属性和方法,实现代码复用。
多态:同一操作作用于不同的对象,产生不同的执行结果。
面向对象的三个基本特征
- 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。
- 继承:使子类具有父类的属性、方法或者重新定义、追加属性和方法等。
- 多态:同以操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类的方法。
Lua中的面向对象
Lua中的表和对象有很多相似性,因此在Lua中可以使用表来实现面向对象。
Lua中类的方法可以通过表+function来模拟:
zhangsan = {name = ""} function zhangsan.setName(self, name) self.name = name end zhangsan.setName(zhangsan, "张三") print(zhangsan.name) --输出: --张三
类(Class)
上面的例子中,zhangsan对象拥有了属性和方法,但是这个对象却不是通过类来创建的。在大多数面向对象的语言中都提供了类的概念,类在对象创建中扮演了模板的作用。
在Lua中,我们可以使用原型的思想来模拟类。

