概述
1. 二者都是一种思想,面向对象是相对于面向过程而言的。面向过程的效率一般要高于面向对象。
2. 面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。分析出解决问题的步骤,用函数把这些步骤一步一步的实现。
3. 面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。把构成问题的事物分成一个一个的对象,建立对象的目的不是为了完成某一个步骤,而是描述某个事物在整个解决问题的步骤中的行为。面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。
4. 面向对象与面向过程相比,可扩展性大大提高。更加利于复用和维护。
面向对象举例:我要把大象装进冰箱
首先要有三个对象:我,大象,冰箱
其中,“我”要实现的功能为:
打开冰箱门(调用"冰箱"中打开冰箱功能)
把大象装进冰箱(调用"大象"中进入 冰箱功能)
关闭冰箱门(调用"冰箱"中关闭冰箱功能)
“大象”要实现的功能:
进入冰箱
“冰箱”要实现的功能:
打开冰箱
关闭冰箱
下图源于网络(侵删)