### 什么是面向过程? ####概述: 自顶而下的编程模式. 把问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。 就是说,在进行面向过程编程的时候,不需要考虑那么多,上来先定义一个函数,然后使用各种诸如if-else、for-each等方式进行代码执行。 最典型的用法就是实现一个简单的算法,比如实现冒泡排序。 ### 什么是面向对象? ####概述: 将事务高度抽象化的编程模式. 将问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之间的调用,组合解决问题。 就是说,在进行面向对象进行编程的时候,要把属性、行为等封装成对象,然后基于这些对象及对象的能力进行业务逻辑的实现。 比如:想要造一辆车,上来要先把车的各种属性定义出来,然后抽象成一个Car类。 #### 举例说明区别 同样一个象棋设计. 面向对象:创建黑白双方的对象负责演算,棋盘的对象负责画布,规则的对象负责判断,例子可以看出,面向对象更重视不重复造轮子,即创建一次,重复使用. 面向过程:开始—黑走—棋盘—判断—白走—棋盘—判断—循环。只需要关注每一步怎么实现即可. #### 优劣对比 面向对象:占用资源相对高,速度相对慢 面向过程:占用资源相对低,速度相对快