在C语言中,什么叫做面向对象,什么叫做面向过程?

如题所述

面向对象和面向过程都是编程思想,分别以对象和过程为主要目标进行编程。

1、面向对象:面向对象(Object Oriented)是一种软件开发方法。Object Oriented的概念和应用已经超越了编程和软件开发。面向对象是一种理解和抽象现实世界的方法。它是计算机编程技术发展的产物。

2、面向过程:面向过程(Procedure Oriented)是一种以过程为中心的编程思想。面向过程都是以正在发生的过程为主要目标进行编程,与面向对象明显的不同就是封装、继承、类。

扩展资料:

面向对象和面向过程的区别:

1、分析问题方式的不同:

面向过程是分析解决问题所需的步骤,然后使用函数逐步实现这些步骤,使用时一个接一个。

面向对象是将问题事务分解为各种对象。对象的建立不是为了完成一个步骤,而是为了描述一个事物在解决问题的整个过程中的行为。

2、解决问题的方法的不同:

面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。

对比面向过程,面向对象的方法主要是把事物给对象化,对象包括属性与行为。当程序规模不是很大时,面向过程的方法还会体现出一种优势。

参考资料来源:百度百科-面向对象

参考资料来源:百度百科-面向过程

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-02
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。

而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。

可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。

功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。

再比如我要把这个五子棋游戏改为围棋游戏,如果你是面向过程设计,那么五子棋的规则就分布在了你的程序的每一个角落,要改动还不如重写。但是如果你当初就是面向对象的设计,那么你只用改动规则对象就可以了,五子棋和围棋的区别不就是规则吗?(当然棋盘大小好像也不一样,但是你会觉得这是一个难题吗?直接在棋盘对象中进行一番小改动就可以了。)而下棋的大致步骤从面向对象的角度来看没有任何变化。

当然,要达到改动只是局部的需要设计的人有足够的经验,使用对象不能保证你的程序就是面向对象,初学者或者很蹩脚的程序员很可能以面向对象之虚而行面向过程之实,这样设计出来的所谓面向对象的程序很难有良好的可移植性和可扩展性。本回答被提问者采纳
第2个回答  2011-03-25
C语言是面向过程的语言,c++属于面向对象
面向过程就需要编程人自己考虑程序运行的每个细节和函数功能的实现
面向对象就简单多了,C++提供了一个库类,想实现什么功能,直接调用哪个类就行了,一个类基本上就实现了一个功能,怎么实现的不用管它,调用就行。这就是面向对象。
举例说,你要做一个应用程序窗口,用C语言的话你得自定义很多函数来实现,但要是用C++的窗口库类,就不用你写这些函数了,人家帮你写好了,你用就行!
希望你能明白。
第3个回答  2011-03-26
C语言是面向过程的设计语言,不存在面向对象的问题。C++才是面向对象的设计语言。

在C语言中,什么叫做面向对象,什么叫做面向过程?
面向对象和面向过程都是编程思想,分别以对象和过程为主要目标进行编程。1、面向对象:面向对象(Object Oriented)是一种软件开发方法。Object Oriented的概念和应用已经超越了编程和软件开发。面向对象是一种理解和抽象现实世界的方法。它是计算机编程技术发展的产物。2、面向过程:面向过程(Procedure Oriented)...

请问什么是面向对象 面向过程?听说C是面向过程 C++是面向对象,谁能简单...
C面向过程,就是对计算机运行期间的编程,C++面向对象,就是人机交互的编程,写出来的程序要面向一个对象,比如人,

C语言面向对象和面向过程有什么区别?
“C语言”面向过程和面向对象的区别是:面向过程是着重于其中程序设计的算法、语言的运用,如设计不同功能的函数。面向对象,按书上说是在C语言的基础上发展起来的,通俗说也就是更高一级的C语言,也就是C++,保留了大部分C语言的功能,而在设计方面却着重于对象的处理,获得更好地性能。面向过程与面...

什么是面向对象,什么是面向过程
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。1.什么是面向对象技术?面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。它具有抽象性、封装性、继承性及多态性。2.面向对象与面向过程...

什么是面向过程阿?什么又是面向对象尼?
面向过程,就是把解决问题的步骤写出来(但愿你学过一门:C,汇编。。),然后达到解决问题的目的。 面向对象就是把处理的对象当作对象(废话?可恶,有些人用收音机DVD作比喻搞混初学者),比如,字符串,文件,数值,然后提供所有关于它们的操作,因为它们就那些操作,不如将操作它们的算法封装,提供...

面向过程和面向对象有什么区别
1、面向过程:是一种以过程为中心的编程思想。都是以什么正在发生为主要目标进行编程。2、面向对象语言:是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。二、特点不同。1、面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些...

C语言什么是面向过程,什么是面向对象啊??求解析,举个例子
C语言是面向过程。你了解下面向对象就知道区别了,“对象”大概就是一个程序的零部件,就是把一些函数、字段、属性(你暂时就想是C语言的一些函数和变量吧)包装在一起,这么做的好处是什么,利于重用,便于管理,好理解,总之好处一坨。就好比一辆车的一个部件,要换就换吗,不会影响到整个程序的...

什么是面向对象 什么是面向过程
面向过程注重流程和顺序,而面向对象则更侧重于对象的特性和交互。面向过程更关注“如何做”,而面向对象更关注“做什么”。面向过程强调步骤的执行,面向对象强调对象的交互和协作。在实际应用中,面向过程和面向对象并非完全独立,而是可以结合使用。例如,我们可以使用面向过程的方法来定义一些通用的函数和...

面向过程与面向对象的区别
1.面向过程编程:过程为中心:面向过程编程以过程或函数为主要的构造块,通过定义一系列的步骤来实现特定的功能。程序按照顺序执行,数据在不同的函数之间传递。程序的流程由开发者手动控制。例如,C语言就是一种典型的面向过程编程语言。分割复杂问题:面向过程编程适合解决相对简单、线性的问题,可以将复杂...

C语言是面向过程的,C++是面向对象的。这其中的过程,对象到底是什么含义...
“面向对象”是一种以事物为中心的编程思想。比如以公共汽车而言。“面向过程”就是汽车启动是一个事件,汽车到站是另一个事件。在编程序的时候我们关心的是某一个事件。而不是汽车本身。我们分别对启动和到站编写程序。类似的还有修理等等。到了编程就是:public class 运营 { void 汽车启动 { } void ...

相似回答