面向对象编程思想和面向过程编程思想的区别

这里体现的是两种JS的编程思想:面向对象编程和面向过程编程,两者都属于是编程思想,各有优缺点

面向过程

       在项目开发中会有各种的逻辑方法,有的是交互,有的是创建,有的是求结果,面向过程编程是把编程的重心放在方法实现的过程中,由上到下,由高到低的顺序执行,一步一步逐步细化

优势:在项目规模不大的情况下,更能直观的表现出方法逻辑,更容易定位错误,整体的执行顺序一目了然

劣势:随着项目的开发不断深入,代码量会越来越多,执行的方法也是会越来越复杂,这时候就会出现需要打乱顺序的情况,导致代码的可维护性变差,

面向对象:

       是一种以对象为中心的编程思想,他把我们要执行方法,拆成许多个类,利用对象的属性和方法打到执行动作的目的,需要的时候就去调用

优势:模块化程度更深,更容易解决大型的复杂的业务逻辑,可以做到随时取用,可编辑性和可维护性更高,在一些复杂场景,比如需要临时更改中间某一处的执行顺序和动作,面向对象能更好的衔接

劣势:面向对象编程的要求更高,考虑的维度更广,逻辑也更加复杂一些,对一些新手不是很友好,存在方法执行快慢造成打断现象,在一些中小项目中或许有点事倍功半

二者对比:

一、出发点不同

前者以执行过程为主,后者以对象属性和方法为主

二、逻辑层次关系和维度的不同

后者更贴近客观生活,由主题去执行动作

三、延展性不同

后者可以在横向和纵向有更深的延展性

四、动作执行顺序和实现原理的不同

前者以过程来驱动数据,后者以事件驱动的方式,对象自身的属性和数据只能有自己的功能去执行修改

举例:

一、把大象装进冰箱

面向过程:

 打开冰箱(冰箱) → 装填(冰箱,大象) → 关门(冰箱)

面向对象:

冰箱.开门() → 冰箱.装填(大象) → 冰箱.关门()

二、客户通过站点寄快递(涉及多个维度的执行动作)

面向过程:

送件(客户) → 收件(站点) → 付款(客户) → 登记(客户,站点) → 分拣(站点) → 邮寄(站点)

面向对象:

客户.送件() → 站点.收件() → 客户.付款() → 站点.登记()、客户.登记() → 站点.分拣() → 站点.邮寄()

发布了19 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/heyNewbie/article/details/105102840