面向过程是直接将解决问题的步骤分析出来,然后用函数把步骤一步一步实现,然后再依次调用就可以了;而面向对象是将构成问题的事物,分解成若干个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在解决问题过程中的行为。
面向过程思想偏向于我们做一件事的流程,首先做什么,其次做什么,最后做什么。
面向对象思想偏向于了解一个人,这个人的性格、特长是怎么样的,有没有遗传到什么能力,有没有家族病史。
打个比方,分别求出长方形、圆形的周长和面积。
面向过程会以,求解数学题的思路去思考:
-
设定长方形的长和宽分别为x和y,圆的半径为r
-
确定长方形、圆形的周长和面积的算法
-
编写出两个计算周长和面积的函数
-
将x、y和r传入相对应的函数,求解长方形、圆形的周长和面积
面向对象会以,描述对象的思路去思考:
-
对规则图形的一般属性和性质进行定义,如周长和面积
-
在规则图形的基础上,创建长方形,描述长方形的属性和性质
-
在规则图形的基础上,创建圆形,描述圆的属性和性质
-
分别创建长方形和圆形的对象,调用它们的周长和面积函数,以求解长方形、圆形的周长和面积
面向过程是从细节出发,将问题细化为先后步骤;
面向对象从宏观出发,重在模拟整个情境中各个要素之间的交互。