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


为何会出现面向对象分析方法?
由于现实世界太复杂多变,面向过程的分析方法没法知足编程

面向过程?
采用面向过程必须了解整个过程,每一个步骤都有因果关系,每一个因果关系都构成了一个步骤,多个步骤就构成了一个系统,由于存在因果关系每一个步骤很难分离,很是紧密,当任何一步骤出现问题,将会影响到全部的系统设计模式


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

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

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

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

 

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

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

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

 

面向对象?开发

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


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

 

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

相关文章
相关标签/搜索