面向对象与面向过程
在前面我们讲述了面向对象的概念,在这里我们再分析一些另一种编程范式:面向过程。
面向过程和面向过程语言
针对面向对象的概念解释,这里,我们用相同的方式来对面向过程进行解释:
- 面向过程是一种编程范式,其重点是将函数作为代码组织的基本单元,其将数据和方法相分离,通过函数的顺序执行来完成任务;
- 面向过程语言对应的就是不支持类和对象的定义,也不支持面向对象的一些特性,如封装、多态等。
优劣
从上面的定义看出,面向过程的优劣势如下所示:
- 在流程比较复杂的时候,面向过程会变得吃力,因为流程复杂,因此可能会创建出许多函数和组织结构,但因为没有类和对象的概念,只能程序员手动组织代码来进行维护,因此会无处下手,很繁琐;
- 面向对象风格的代码更易复用、易拓展、易维护:
- 易复用:通过继承的方式来复用代码;
- 易拓展:通过多态可以直接用父类指针来调用新的子类实现逻辑,而不需要再进行更改,通过抽象,我们不需要知道方法的具体实现,这样实现改变了,也不用改代码;
- 易维护:通过封装,因为外部可修改的渠道被限制,因此方便维护。
- 面向过程关注的是设计一组流程来让机器来执行,会更加的死板;而面向对象关注的