零基础学lua第十三天---面向对象
作者:互联网
一、前言
前面和大家讲了这么久的lua,相信大家应该都知道了lua其实就是一个面向过程的语言,因此封装性不是很强,不过这并不影响它也能实现面向对象,只是需要我们去实现而已,下面我们就来一起来使用lua实现一个面向对象的代码语句。
二、类我们都知道要想使用面向对象的语法,类是最能体现这一核心理念的产物,那么现在就让我们使用lua来实现一个类吧。如下:
我们可以来看看结果如何,如下:
可以看到私有方法需要在公有方法中才能够访问。当然,如果你不信邪,小编可以帮你试试,如下:
正如小编说的那样,这样会报错。上面的类我们采用的是模块的形式来实现的,现在我们换种方法,使用table来实现,如下:
现在我们只能使用类名来访问table中的键值对,其实我们还可以使用self来访问table中的值,如下:
从上面我们可以看出,不管是点号还是冒号,直接使用table来访问里面的值都是可以访问到的,但是如果使用点号的时候如果使用self来访问的话,是访问不到table中的值的,如下:
三、继承指的是子类可以继承父类的行为并且能够重写内容,如下:
这样就实现了类的继承,并且子类修改了从父类继承过来的值。
四、多态面向对象一个比较重要的概念就是多态了,而lua实现多态更容易,由于我们刚刚已经实现了继承,因此多态就容易多了,如下:
五、总结以上就是小编总结的关于lua中实现面向对象各个功能的实现方法了,有什么不懂的可以和小编多多交流哦。
标签:面向对象,实现,访问,如下,---,lua,table,第十三天 来源: https://blog.51cto.com/u_9736252/2804225