从思想不同上分析:
1、面向过程是具体化的,流程化,模块化的。分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
2、面向对象可以说是面向过程的抽象,是把事物给对象化,包括其属性和行为。把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,标识都不改变,不同的对象不能有相同的标识。
比如汽车有开车,加减速和刹车,关于汽车的操作有好多,每一个都需要一个具体的过程来实现,把这些过程抽象的总结起来就可以形成一个类,这个类包括的汽车所有的东西,所有的操作。
从代码层面分析:
1、面向过程主要是操作
2、面向对象包含数据和操作,是一个整体
面向对象的底层还是面向过程,面向过程抽象成类,然后封装,方便使用就是面向对象。
当程序较小的时候,面向过程就会体现出一种优势,其程序流程十分清楚。
但是,面向对象编程更贴近实际生活的思想。