概念

面向对象编程(Object Oriented Programming,OOP)是一种对象为中心的编程范式或者说编程风格。把类或对象作为基本单元来组织代码,并且运用提炼出的:封装、继承和多态来作为代码设计指导。

面向过程编程是一种以过程或函数为中心的编程范式或者说编程风格,以过程作为基本单元来组织代码。过程其实就是动作,对应到代码中来就是函数,面向过程中函数和数据是分离的,数据就是成员变量。

总结来看:面向对象编程注重对象之间的交互和模块化设计,而面向过程编程注重逻辑的分步实现。

主要区别:

  1. 思维方式:
  • 面向对象:通过定义对象的属性和行为来解决问题,关注对象之间的关系和交互。
  • 面向过程:通过函数或过程一步步实现业务逻辑,关注执行的步骤和顺序。
  1. 数据与行为的关系:
  • 面向对象:数据和行为封装在对象内部,数据操作由对象方法进行管理。
  • 面向过程:数据和函数是分离的,函数对数据进行操作。
  1. 可扩展性和复用性:
  • 面向对象:通过继承、接口、多态等机制支持代码的高复用性和扩展性。
  • 面向过程:复用性较低,扩展需要修改已有代码,影响整体稳定性。
  1. 适用场景:
  • 面向对象:适合处理复杂的系统和模块化设计,便于维护和扩展。
  • 面向过程:适用于一些简单、顺序性强的小型程序,开发效率较高。

扩展

面向对象的三大特征:

  1. 封装:将数据和行为封装在对象内部,提供接口进行访问,隐藏实现细节,提高安全性。
  2. 继承:子类可以继承父类的属性和方法,实现代码复用和扩展。
  3. 多态;对象可通过父类或接口进行多态调用,不同对象在运行时执行不同的行为。