首页前端开发正文

面向对象和面向过程的区别理解(通俗地解释)

朱绪2021-02-102163JavaScript

编程届有两大编程思想,分别是面向过程和面向对象。

面向对象编程

其实很多人,尤其是程序员,心里大致都清楚面向过程和面向对象是怎么一回事。但是如果要讲的话,或者写出来,很大概率会卡壳,这就是所谓的“脑中有但是笔下无”。

所以,我今天就用一篇文章简单写一下面向对象和面向过程的区别理解。正好也给自己梳理梳理。

面向,顾名思义,就是——对着、朝着。

我们可以对着过程来编程,也可以对着对象来编程。

1、

面向过程(POP)是,你遇到一个问题,分析出解决这个问题所需要的步骤,然后用函数把这些步骤给实现了,使用的时候再依次调用就ok。

面向过程是朝着“步骤”来实现的,强调的是我该怎么去做——先干啥、后干啥,即功能的执行过程。

举个例子吧,这个例子还是挺经典的:“把大象装进冰箱”

把大象装进冰箱,面向过程的做法是:

就是三个步骤:

①打开冰箱门②把大象装进去③关上冰箱门

面向过程编程==面向步骤编程==按照我们分析好了的步骤,按照步骤编程。

2、

面向对象是把事务分解为一个个对象,然后由对象之间分工与合作,面向对象强调的是我该让谁来做

回到刚才那个例子,面向对象的做法是:

既然是面向对象,我们肯定先得有对象,先找出对象,并写出这些对象各自的功能。

这个案例有两个对象,一个是大象对象,一个是冰箱对象。

大象对象需要有一个功能就是——进去。

冰箱对象需要有两个功能——打开冰箱门和关闭冰箱门。

最后,我们调用这些功能即可。

总结一下,面向对象是以“对象功能”来划分问题的,而不是步骤。

相比于面向过程,面向对象更符合我们常规的思维方式,且具有很强的重用性、良好的可维护性。

面向对象有三大特征,封装、继承和多态,在这里就不展开讲了。