对比面向对象编程与面向过程编程的优与劣

程序开发编程思想

程序开发行业发展至今,在程序开发的过程中诞生了面向过程开发编程思想与面向对象开发编程思想。两种编程思想都是十分优秀的编程思想,不同的编程思想适用于不同的开发场景。今天我们就来看一下,面向过程和面向对象的相同点、不同点以及各自的适用场景吧。

面向过程开发

面向过程开发编程思想比面向对象编程思想出现的时间要早。面向过程编程思想的关注点在于一件事情的处理步骤,通过对事情的每个步骤进行严密的逻辑分析,一环扣一环的完成事情。
对比面向对象编程与面向过程编程的优与劣

面向对象开发

面向对象编程注重的是参与到事件中的对象,通过调用对象的属性和方法完成整个事件。比如就像早上去上课来说,整个事件中包含人,食物,学校,书包这么几个类。完成整个上学事件就可以分别调用这几个类的属性和方法。
对比面向对象编程与面向过程编程的优与劣

扩展性对比

通过上面的观察,我们发现,这个面向对象不是比面向过程要复杂吗?为什么我们还要用面向对象进行编程呢?
这是因为我在上面举例的时候用到的案例比较简单。通过上面案例我们可以发现,面向过程是把这个过程按照需要的步骤分成第一步,第二步,第三部步进行完成。这样事件结构严密,一环扣一环,便捷快速。但是假如在上述的流程中出现突发状况,洗漱后需要上个厕所。那么上述的流程就不能够使用了,因为它没有上厕所这个流程,这样就只能重新开发设计一个新的流程,这样因为一点小事情就需要改整个代码,我们称为扩展性差。
对比面向对象编程与面向过程编程的优与劣

这时我们使用面向对象的方法来完成的话,就会方便许多,我们只需要再增加一个去厕所的行为,一个厕所实类,这时候就可以通过调用这个方法和实类就可以添加功能了。因此面向对象的扩展性强。
对比面向对象编程与面向过程编程的优与劣

表格汇总对比

对比项 面向对象编程 面向过程编程
关注点 参与事件的对象 完成事件的流程步骤
稳定性 较弱 较强
扩展性 较弱
适用场景 中大型项目
以后功能可能会有变化的项目
小型项目或者
以后功能不会变化的项目

总结

其实每种编程思想都是程序开发行业发展至今的智慧结晶,没有绝对的好与绝对的坏,只要用在适用的场景,能够解决所遇到的问题,那么这种编程思想就是在这个问题中的最优解决方案。如何熟练地运用两种编程思想,还需要不断的学习,不断地练习。或许在使用9999次之后就会有答案了呢!感谢大家观看,咱们下回见!