lua元表实现面向对象 Lua语言怎么把代码弄成这个样子的?
Lua语言怎么把代码弄成这个样子的?
互联网上的许多lua示例,包括所谓的OOP实现示例,都是伪装成lua的C/C#/Java/OC代码。这是一个非常积极的事情,业主可以关心真正的卢阿写作。面向对象的核心是什么?封装、继承和多态性。Lua的表可以封装。可以说表是一个对象。继承的本质是代码重用。Lua的解决方案是使用metatable。当需要继承时,可以直接设置metatable。如果你采用一个更激进的概念,继承可以被放弃。多次调用函数是件大事。至于多态性,duck类型的语言天生就是多态的。因此,您不需要声明类,也不需要学习这些示例,编写一个类函数,编写一个新函数(以及extend、private、public、ctor……),然后认真地去new并做一些事情—只需使用Lua的本机机制。
在lua,javascript大行其道的今天,面向对象模型的价值在哪里呢?
脚本语言不一定支持面向对象的思考和编写。例如,虽然JS是一种脚本语言,但面向对象的编写方法(如class和extensions)已经添加到ES6中,您看到的JS可能是用强类型的面向对象编程语言typescript编译的。面对对象的价值,它可以更好地实现代码的模块化、开发人员的清晰划分、降低开发难度、易于维护
首先,让我们从编程语言的角度来看待两者的区别。
最典型的面向过程编程语言是C语言,面向对象语言包括C、Java、C#。
在C语言中,基本数据类型是变量、数组、结构和函数。在使用这些数据类型进行编程时,主要考虑的是如何将要处理的数据放入适当的数据类型中,并根据事件的顺序调用函数来完成业务逻辑的处理。
在面向对象语言中,最重要的概念是类,类实例化的结果是对象。在设计过程中,这种语言涉及到很多现实生活中的处理模型。例如,汽车是一个非常抽象的对象,但奔驰和宝马是非常具体的。这些车可以分为高配置和低配置,并且可以驾驶。
这些汽车模型对应于基类、派生类、属性和方法的概念。因此,在使用面向对象编程时,数据的合理封装是其主要的核心工作。
综上所述,面向过程编程的核心技术是数据结构和算法;面向对象编程的核心技术是23种设计模式。我们必须熟练地掌握它!
lua元表实现面向对象 lua面向对象编程 lua面试题目和答案
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。