C语言是面向过程的,C++是面向对象的。这其中的过程,对象到底是什么含义??不理解!!求高手解答

来源:百度知道 编辑:UC知道 时间:2024/09/20 03:59:23

简单地说,面向过程就是面向函数,过程就是函数,函数就是流程

打个比方:
让你用C写个程序,在一个文件中输入一个字符串“abc”,那么,你就写一个函数,函数里面的过程如下:打开文件,写“abc”,关闭文件!

如果是C++,你会定义一个文件类,它包含openFile,closeFile,write等成员函数(操作)。
那么,结论出来了:

过程就是你思考时专注于函数
对象就是你思考时专注于“实体”

我认为面向对象和面向过程就没有本质的区别,只是使用不同的方法和角度去观察一个世界。软件设计就像写剧本,数据就是角色,流程就是情节,整个软件就象一部电影,面向对象只不过是把数据和对这类数据的处理捆绑在一起,在设计情节的时候就不必关心某个角色是如何完成某个动作的,只要安排各个角色按顺序完成动作就好了。而面向过程怎么做呢?那就是安排各个角色按顺序完成动作,而如何完成动作参见第几章第几节或下面的注解。

从程序上或者剧本上看,面向对象就是先描述角色的特点和如何完成各种动作,然后才是具体情节;面向过程就是先描述角色的特点,然后讲述情节,情节中对角色如何完成某个动作再写一个小说明。从组织上看,面向对象的方法组织得更好更清楚一些,而没有更多的不同。

至于派生和继承只是把同类角色具有的相同特点和动作放在一起描述罢了,因为这个角色和那个角色与其它的角色相比在某个方面相同或类似,所以把它们分为一类,这个类就成了一个基类了,例如老师和作家都是知识分子,那么就在这里一起描述一些知识分子具有什么共同的特点,而不再在老师这类角色和作家这类角色里赘述了。

还有一个区别就是面向过程通常以函数作为编程单元,面向对象以类作为编程单元。