宏观层面上说:
面向对象是一种以对象为中心,以人类的思维方式来编写代码的编程风格,
而面向过程则是一种以过程或者说函数为中心,以计算机的思维方式来写代码的编程风格。
主要有以下几点区别:
- 面向对象主要关注的是对象之间的关系和交互,而面向过程主要关注函数的执行步骤和顺序。
- 面向对象的数据和行为都是封装在对象内部的,而面向过程的数据和函数却是分离的。
- 面向对象通过它的封装、继承和多态机制 具有较高的复用性和可拓展性,而面向过程如果进行扩展可能需要修改已有的代码,复用性往往较低。
- 从适用场景上来说,面向对象很适合一些复杂系统的开发,而面向过程则只适用于一些简单的顺序性较强的小型项目的开发。