对封装、继承、多态的理解

只是有一天就明白了

面向对象的三大特性,封装、继承、多态,封装与继承在很久之前就明白了,在实际的工作中也有比较深的体会,如果是使用java,对封装的概念相对来说就会理解的比较深刻,封装是将现实事物映射为抽象代码,抽象为对象的属性和方法;继承这是为了更好的复用代码,规范设计,但是多余多态的理解就不是特别的深刻了,直到最近才发现这就是多态。

多态是什么

多态是建立在封装和继承的基础上的,最近一直在使用vue开发后台管理系统,也就是我们常说的增删查改,编写这样的系统,自然就会由许多的重复的代码,就比如在列表页面,俩个列表页面可能只有列表数据请求的接口不一样,所以怎么办,我在项目中的做法是将页面的逻辑都写到mixin当中。

mixin从字面上来理解的意思是将另一个对象的属性和方法混入到被混入的对象当中,看看这个看看这个像是什么,是不是很像是继承,每个页面都会继承mixin当中的方法,你在页面中可以重写mixin对象中的属性,如果你将列表数据请求的数据作为对象的属性,比如是searchUrl,对于具体的页面请求的是不同的接口怎么办,只要重写这个属性就可以了,但是获取列表数据的方法比如说是 getListData(),就不需要改了,这样就大大减少了每个页面的代码量,在对每个页面的通用方法进行修改时也会变得更方便。

多态是什么,由同一个类创建出来的对象,不同的对象调用相同的方法,会有不同的结果,为什么会有不同的结果,因为该方法已经被重写了,通过封装我们将显示食物抽象为代码,通过继承(函数重载)我们不断的扩展原有的对象,通过多态是对象保证灵活性。

原本自己已经在使用多态了,但是自己还没有发觉。

最后更新于