概念
百度百科关于面向过程 以及面向对象的解释:面向过程(Procedure Oriented)是一种以过程为中心的编程思想。面向过程也可称之为面向记录编程思想,他们不支持丰富的面向对象特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。
面向过程
模块化编程思想:面向过程其实是最为实际的一种思考方式,它考虑的是实际地实现。一般的面向过程是从上往下步步求精,那么在实现的过程中就表现为——以C语言为例:一个main方法,在main方法里面调用分部实现问题功能的子方法,从而实现一个完整的问题解决方案。
面向对象
将对象作为研究主体,对于同一个问题,仅仅将这个问题最为对象本身的一种方法,而不是研究的主体。也就是说,面向对象需要对数据建立抽象模型,而这种模型具有的是一类数据都含有的特征,这个模型也就称为类,每一种模型都具有自身的属性与方法——面向对象就是把问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是描述某个事物在整个解决问题步骤中的行为。
优缺点
面向过程
优点:其性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
面向对象