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

作者&投稿:掌别 (若有异议请与网页底部的电邮联系)
在C语言中,什么叫做“面向对象”,什么叫做“面向过程”?~

关注猿学部落,轻松敲代码,轻松学编程,更多课程尽在猿学部路官网www.itbull.net

java和c语言面向对象与面向过程程序设计有如下不同:
(1)面向过程程序设计方法采用函数(或过程)来描述对数据的操作,但又将函数与其操作的数据分离开来;面向对象程序设计方法将数据和对数据的操作封装在一起,作为一个整体来处理。 函数与数据是否分离
(2)面向过程程序设计方法以功能为中心来设计功能模块,难于维护;而面向对象程序设计方法以数据为中心来描述系统,数据相对于功能而言具有较强的稳定性,因此更易于维护。
(3)面向过程程序的控制流程由程序中预定顺序来决定;面向对象程序的控制流程由运行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际需要。 预定顺序;由运行时各种事件的实际发生来触发
(4)面向对象程序设计方法可以利用框架产品(如MFC,Microsoft Foundation Classes)进行编程。 面向对象可利用框架 面向对象和面向过程的根本差别,在于封装之后,面向对象提供了面向过程不具备的各种特性,最主要的,就是继承和多态。
在实际的开发中,如果使用c语言开发更注重于底层的交互,可以提升速度,在一些应用层面比如网页、手机系统的开发,大多数会选择java语言,比较容易快的构建出应用。目前来说大部分的游戏都是使用C语言开发还有一些脚本语言,比如lua,但考虑到市场上的占有率,如果不想花很多时间来学习的话,java语言是一门可以快速入门的。

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

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

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

扩展资料:

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

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

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

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

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

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

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

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

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



面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

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

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

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

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

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

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

当然,要达到改动只是局部的需要设计的人有足够的经验,使用对象不能保证你的程序就是面向对象,初学者或者很蹩脚的程序员很可能以面向对象之虚而行面向过程之实,这样设计出来的所谓面向对象的程序很难有良好的可移植性和可扩展性。

C语言是面向过程的语言,c++属于面向对象
面向过程就需要编程人自己考虑程序运行的每个细节和函数功能的实现
面向对象就简单多了,C++提供了一个库类,想实现什么功能,直接调用哪个类就行了,一个类基本上就实现了一个功能,怎么实现的不用管它,调用就行。这就是面向对象。
举例说,你要做一个应用程序窗口,用C语言的话你得自定义很多函数来实现,但要是用C++的窗口库类,就不用你写这些函数了,人家帮你写好了,你用就行!
希望你能明白。

C语言是面向过程的设计语言,不存在面向对象的问题。C++才是面向对象的设计语言。


C语言 什么叫做模运算符!
叫做模运算符。比如8%2等于0;5%2等于1;-3%2等于-1;3%(-2)等于1.类似于求余数。

c语言中. c文件是什么?
后缀为.c文件是C语言源程序文件,可以通过记事本或者Microsoft Visual C++ 6.0等打开。一、源程序,是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件,通常由高级语言编写。二、这种典型格式的目的是为了编译出计算机可执行的程序,将人类可读的程序代码文本翻译成为计算机可以执行的二...

c语言中的c表示什么意思呀?
C表示组合数。从n个不同元素中,任取m(m≤n)个元素并成的一组,叫做从n个不同元素中任取m个元素的一个组合。从n个不同元素中任取m(m≤n)个元素的所有组合的总数,叫做从n个不同元素中任取m个元素的组合数,用符号 表示。

c语言叹号是什么意思
C语言中的叹号是一种运算符,叫做逻辑非运算符。它可以将一个非零的值变为0,将0变为1。例如,如果一个变量x的值为0,则!x的值为1;如果x的值为非0,则!x的值为0。逻辑非运算符通常用于条件语句、循环语句和表达式等中,常用来表示“非”、“不是”的意思。在C语言中,叹号还可以用于比较...

C语言里的主函数是什么
具体形式如下:main(){ }被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。...

1在c语言中是什么意思
1、1为转义字符,代表的意思是“标题开始”。  2、在C语言中,所有的ASCII码都可以用“”加数字(一般是8进制数字)来表示。  3、而C中定义了一些字母前加来表示常见的那些不能显示的ASCII字符,如,t,n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。  ...

在C语言中,什么是迭代法?
在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步...

在C语言中,%d,%c,%f,%e分别是什么意思?
d是以十进制整型的格式输出。c是以单个字符的格式输出。f是以单精度型的格式输出。e是以指数的形式输出。C语言中,输入输出的格式为:输入输出符号("<格式化字符串>", <参量表>),格式化字符串由格式控制、和输出表列两部分组成,其中格式控制包含格式声明和普通字符。格式声明由“%”和格式字符组成...

C语言编程中的Buf是什么意思啊
1、在C语言编程中一般用数组来表示一个缓冲区。如下:char buf[256] = {0}; \/\/定义一个数组作为缓冲区。2、C语言编译器生成程序后,每个程序自身的运行也需要缓冲区,一般叫做堆栈,它们的默认大小一般是1MB。3、如果数据超出了缓冲区的大小,即为溢出,在C语言中如果用户定义的数组在栈区,当...

c语言中中括号表示什么意思?
定义之后,就可以引用该数组的元素,但不能直接用 a[6] ,a此时包含的元素只有a[0],a[1],a[2],a[3],a[4],a[5]这6个。C语言支持定义一系列相同连续的变量空间,其定义形式为type name[N];代表定义个数为N,每个元素类型均为type型的数组变量name。在C中规定,数组元素的下标n是从0开始...

滕州市19879719275: C语言,里的面向对象是什么意思? -
嬴彪银盏: C语言没有面向对象,它是面向过程的.它的兄弟C++同时面向对象也面向过程. 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为. 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了.

滕州市19879719275: C语言什么是面向过程,什么是面向对象啊??求解析,举个例子 -
嬴彪银盏: C语言是面向过程.你了解下面向对象就知道区别了,“对象”大概就是一个程序的零部件,就是把一些函数、字段、属性(你暂时就想是C语言的一些函数和变量吧)包装在一起,这么做的好处是什么,利于重用,便于管理,好理解,总之好处一坨.就好比一辆车的一个部件,要换就换吗,不会影响到整个程序的框架吧. 要深入还是比较抽象的,建议学C的时候顺便看下C++或者其他面向对象语言 从网上找个项目看看.实践学的比较快.如果要学习资料的话可以留邮箱,发点给你.

滕州市19879719275: 小白提问,C语言中面向过程和面向对象是什么意思,谁能简单的帮我解释清楚 -
嬴彪银盏: 面向对象和面向过程是两种不同的编程思维模式或者说是编程方法,而C语言本身是纯面向过程的语言,如果你不了解类和对象,那你最好还是不要问什么是面向对象,因为说了你也理解不了,等你学完了java,你自然就知道什么叫面向对象编程了

滕州市19879719275: 在C语言中,什么叫做“面向对象”,什么叫做“面向过程”? -
嬴彪银盏: 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解...

滕州市19879719275: C语言,里的面向对象是什么意思?
嬴彪银盏: C语言没有面向对象,它是面向过程的.你说的这个是C++,它即面向对象也面向过程.面向对象,简单的说就是你编写的程序需要你面面俱到,全方位的编写.对它进行完整的“描述”.

滕州市19879719275: 什么叫面向对象编程?c语言与汇编语言有什么具体的区别?另外c语言中&a和&b中&是什么含义? -
嬴彪银盏: 1.面向对象,简单说就是封装,把一些有共性的函数和变量封装在一个类里面,使用的人不需要知道里面的具体实现,有哪些变量,只需要调用类的公共函数就可以了. 2.c是高级语言,是在汇编的基础上又包装了一层的语言,而汇编又是对机器码(二进制)的抽象. 3.&是去地址符号,&a即取变量a的内存地址

滕州市19879719275: “C++支持面向对象程序设计的大型语言”中的“面向对象”是什么意思? -
嬴彪银盏: 面向对象这个概念很难一两句总语言就可以总结完全的,这个还是你要在不断的学习的过程中总结体会. 个人总结来说吧,这个面向对象和类有关,就是万事万物都可抽象成类,再从类出发生成万事万物.

滕州市19879719275: C++中什么叫面向对象? -
嬴彪银盏: 面向对象是种思想,就像把一批新生产的CPU要分为几类一样.没毛病的-就做为P4,二级缓存少的-卖C,不能用的-仍掉,对不同类别的事物做出不同的处理,这该是面向对象最基本的理解

滕州市19879719275: 编程中如何理解面向对象 -
嬴彪银盏: 如果你学了汇编,就感觉这个问题轻而易举了.因为汇编是面向过程的的编程语言,而c语言等是面向对象的编程.简而言之,比如看到了一个苹果,想吃她,用汇编的话,首先需要寻找苹果,然后拿起,最后才是吃掉,要计算每个步骤,这就...

滕州市19879719275: 什么是面向对象 -
嬴彪银盏: 面向对象OO = 面向对象的分析OOA + 面向对象的设计OOD + 面向对象的编程OOP; 通俗的解释就是万物皆对象,把所有的事物都看作一个个可以独立的对象(单元),它们可以自己完成自己的功能,而不是像C那样分成一个个函数; 现在纯正的OO语言主要是java和C#,C++也支持OO,C是面向过程的;

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网