万事万物皆对象
约 510 字大约 2 分钟
编程范式之争
- 面向过程编程(Procedural Programming)
面向过程编程是一种以过程或函数为基本单位的编程方式。它强调的是一系列有序的步骤或操作,通过函数调用来完成任务。
优点:
简单直观: 面向过程的代码通常较为直观,易于理解和调试。
高效: 由于直接操作数据,性能较高。
缺点:
可维护性差: 随着代码量的增加,模块间的耦合度高,维护困难。
可扩展性差: 新增功能或修改现有功能时,可能需要大量修改代码。
- 面向对象编程(Object-Oriented Programming, OOP)
面向对象编程是一种以对象为基本单位的编程方式。它强调的是数据和操作数据的函数(方法)的封装,通过对象间的交互来完成任务。
优点:
模块化: 对象将数据和操作封装在一起,模块化程度高,易于维护。
可扩展性好: 新增功能时,可以通过继承和多态等机制,减少对现有代码的修改。
重用性高: 通过继承和组合,可以重用现有代码。
缺点
复杂性高: 面向对象的设计和实现通常比面向过程复杂。
性能开销: 由于对象间的交互和封装,性能可能不如面向过程。
类和对象
区别:
类:用于描述对象的,里面具有属性和行为。比如,猴子的毛色有金色的,也有黑色的,这些都是描述物体的状态,而“猴子吃香蕉”,这描述的是物体的行为。
对象:被类实例化人/物品/动物……,是在内存中已经实际存在的。比如实例化对象:孙悟空。