面向对象和面向过程的区别(盖饭VS蛋炒饭)


为什么会出现面向对象分析方法?
因为现实世界太复杂多变,面向过程的分析方法无法满足

面向过程?
采用面向过程必须了解整个过程,每个步骤都有因果关系,每个因果关系都构成了一个步骤,多个步骤就构成了一个系统,因为存在因果关系每个步骤很难分离,非常紧密,当任何一步骤出现问题,将会影响到所有的系统


如:采用面向过程生产电脑,那么他不会分CPU,主板和硬盘,它会按照电脑的工作流程一次成型。

面向过程的设计:最小的程序单元是函数,每个负责完成某一个功能,用于接受输入数据,函数对输入数据进行处理然后输出结果数据,

整个软件系统是由一个个函数组成,其中作为程序入口的函数称之为主函数,主函数一次调用其他函数,普通函数之间可以互相调用,

从而实现整个系统功能,面向过程最大的问题在于随着系统的膨胀,面向过程将无法应付,最终导致系统的崩溃.

面向过程的程序设计方式:是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程。
例如:公司打扫卫生(擦玻璃、扫地、拖地、倒垃圾等),按照面向过程的程序设计方式会思考“打扫卫生我该怎么做,然后一件件的完成”,最后把公司卫生打扫干净了。
面向过程的缺陷:是采用指定向下的设计模式,在设计阶段就需要考虑每个模块应该分解为哪些子模块,每个子模块又细分为更小的子模块,如此类推,直到将模块细化为一个个函数。

存在的问题
1.设计不够直观,与人类思维习惯不一致;

2.系统软件适应性差,可拓展性差,维护性差;

面向对象?

在软件工程上,面向对象可以使工程更加模块化,实现更低的耦合和更高的内聚


面向对象对会将现实世界分割成不同的单元(对象),实现各个对象,如果完成某个功能,只需要将各个对象协作起来就可以完成一种基于面向过程的新编程思想,顾名思义就是该思想是站在对象的角度思考问题,我们把多个功能合理放到不同对象里,强调的是具备某些功能的对象。具备某种功能的实体,称为对象。面向对象最小的程序单元是"类"。面向对象更加符合常规的思维方式,稳定性好,可重用性强,易于开发大型软件产品,有良好的可维护性

面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要怎么做这件事是他自己的事,反正最后一群对象合力能把事就好就行了。
例如,公司打扫卫生(擦玻璃、扫地、拖地、倒垃圾等),按照面向对象的程序设计方式会思考“我该让谁来做,如小明擦玻璃、让小丽扫地、让小郭拖地、让小强倒垃圾等”,这里的“小明、小丽、小郭、小强”就是对象,他们要打扫卫生,怎么打扫是他们自己的事,反正最后一群对象合力把公司卫生打扫干净了。



猜你喜欢

转载自www.cnblogs.com/ppp1314520818/p/10802621.html