1 Star 0 Fork 0

se7enms / toBeTopJavaer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
object-oriented-vs-procedure-oriented.md 1.42 KB
一键复制 编辑 原始数据 按行查看 历史

什么是面向过程?

####概述: 自顶而下的编程模式.

把问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。

就是说,在进行面向过程编程的时候,不需要考虑那么多,上来先定义一个函数,然后使用各种诸如if-else、for-each等方式进行代码执行。

最典型的用法就是实现一个简单的算法,比如实现冒泡排序。

什么是面向对象?

####概述: 将事务高度抽象化的编程模式.

将问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之间的调用,组合解决问题。

就是说,在进行面向对象进行编程的时候,要把属性、行为等封装成对象,然后基于这些对象及对象的能力进行业务逻辑的实现。

比如:想要造一辆车,上来要先把车的各种属性定义出来,然后抽象成一个Car类。

举例说明区别

同样一个象棋设计.

面向对象:创建黑白双方的对象负责演算,棋盘的对象负责画布,规则的对象负责判断,例子可以看出,面向对象更重视不重复造轮子,即创建一次,重复使用.

面向过程:开始—黑走—棋盘—判断—白走—棋盘—判断—循环。只需要关注每一步怎么实现即可.

优劣对比

面向对象:占用资源相对高,速度相对慢

面向过程:占用资源相对低,速度相对快

1
https://gitee.com/se7enms/toBeTopJavaer.git
git@gitee.com:se7enms/toBeTopJavaer.git
se7enms
toBeTopJavaer
toBeTopJavaer
master

搜索帮助