程序设计 面向对象和面向过程

作者&投稿:鄘菁 (若有异议请与网页底部的电邮联系)
面向过程程序设计和面向对象程序设计的区别~

C语言是面向过程的编程,它的最重要特点是函数,通过主函数来调用一个个子函数。程序运行的顺序都是程序员决定好了的。它是我学的第一种程序语言。

C++是面向对象的编程,类是它的主要特点,程序执行过程中,先由主函数进入,定义一些类,根据需要,执行类的成员函数,过程的概念被淡化了(实际上过程还是有的,就是主函数的那些语句),类就是对象,所以我们称之为面向对象程序设计。

现在我学了Visual C++,有了很多体会。它是面向事件的编程,程序执行时,不断检测有没有事件(消息)发生,如果有,那么就看有没有对应于事件的函数,如果有就执行这个函数。相比之下,它过程式的味道几乎没有了,但是实际上也是面向过程的,这个过程就是检验有没有事件,只不过这个过程被隐藏了起来。到目前为止,我没发现真正的没有过程的程序。

面向过程是吧过程作为编程的思路,如程序流程图,但是面向对象是把实体当作对象,如自行车是一个实体,就是一个对象,它有自己的属性,但是它可以派生除别的类,如变速自行车,除了有自行车的特点外,还有变速这个特点,其实面向对象就是把显示中的一个事务当作一类东西,这类东西具有某些特性,但是它可以派生,就形成具有某个特点的对象,就是派生类

面向过程编程实际上就是将一个程序要实现的功能分解为一系列的一步骤,这些步骤在分解,递归下去直到你能用函数容易实现这个步骤为止,然后从下往上,高层次的步骤由低层次的步骤组装,直到实现整个程序的功能。面向过程可以认为是一种算法分解。

面向对象编程则是将一个程序的功能分派给一系列对象去完成,然后这些对象在分解,直到你能容易实现对象为止,然后这些对象相互协作实现了程序的功能。程序中的每个对象有自己的状态和行为,具有一定的工作能力。面向对象的一个重要方面就是去描述对象,以及他们之间的关系。对象之间有的对象具有共同属性和行为,这些共性我们通过类来描述(抽象和封装),然而不同类之间也有一定的相似,这时我们通过基类来描述这些类的共性(继承),然而即使具有相同的行为,不同对象具体的行为方式也可能不同,这时我们在基类中使用虚函数来描述这种差异(多态)。有的对象是作为其他的一部分存在,这时我们将这个对象作为其他对象的类的成员变量来描述(组合和聚合)。

这大概就是区别了。

面向对象的思维我们日常生活就在使用。

例如考虑汽车的制造:
如果你讲汽车的制造看做是一系列工序,那么你用的思维就是面向过程的;如果你将汽车的制造看做是一台台机器人相互协作的过程,那你用的就是面向对象思维了。

区别: 面向对象 注重对数据的使用。试图把数据和对其的操作封装在一起(类),并且尝试去自动处理一些不同的函数的调用工作(多态,重载等),以减轻对函数的依赖。面向过程 则注重对函数(功能模块)的应用,这些年也有一些面向函数的语言开始复苏(如F#)也可以看出,面向的重点不同,也各有领域和优点。联系:联系其实在不同中就已经可以看到。面向对象只是将数据和函数“打包”,并记入了一些 自动判断并调用“函数”的功能。所以,面向对象也是建立在函数的基础上,只是减弱了 开发人员对函数的依赖度,将重点转向数据。

到不同,不要百度的,解释清楚就行


长武县13276612510: 面向对象程序设计和面向过程程序设计有什么区别 -
虞瞿盐酸: 面向过程比面向对象要出现的早,面向过程的象c语言主要对程序的执行过程的编写,面向对象象java语言主要是对类的编写和应用两者是有本质的区别的.

长武县13276612510: 面向过程和面向对象程序开发的区别 -
虞瞿盐酸: 本质都是为了解决问题. 相对来说,面向过程会关注解决问题的一系列步骤.面向对象就显得方便些,只需要调用某个类或者接口的方法即可. 当然,这个类或者接口最终要解决这个问题,还是会实现“面向过程”的功能的,区别在于思维方式不同. 最终都面向过程和面向对象程序开发的区别

长武县13276612510: 编程中,面向对象和面向过程是什么意思?
虞瞿盐酸: 面向对象是以事物(对象)为中心进行编程,面向过程是以事件为中心进行编程. 举一个例子:一架飞机起飞.如果以面向过程来看,那么有以下的事件:飞机启动发动机,飞机在地面加速,飞机离开地面,飞机升高,飞机收起起落架.如果以面向对象来看,那么关心的是飞机本身而不是它如果起飞.需要抽象出一个飞机的“类”,类中有飞机的“属性”比如发动机,机翼,起落架等,这个类可以有某些方法,比如发动机启动,起落架的收放等.也就是说面向对象时,我们以飞机本身来考察,而不是以飞机起飞所发生的阶段性事件来考察.

长武县13276612510: 编程中的面向对象和面向过程,都是什么意思啊? -
虞瞿盐酸: 面向对象,就是界面信息显示对用户的互动体验,面相过程就是数据从后台到展示的程序数据交互处理

长武县13276612510: 面向过程程序设计和面向对象程序设计的区别和联系分别是什么 -
虞瞿盐酸: 区别: 面向对象 注重对数据的使用.试图把数据和对其的操作封装在一起(类),并且尝试去自动处理一些不同的函数的调用工作(多态,重载等),以减轻对函数的依赖.面向过程 则注重对函数(功能模块)的应用,这些年也有一些面向函数的语言开始复苏(如F#)也可以看出,面向的重点不同,也各有领域和优点.联系:联系其实在不同中就已经可以看到.面向对象只是将数据和函数“打包”,并记入了一些 自动判断并调用“函数”的功能.所以,面向对象也是建立在函数的基础上,只是减弱了 开发人员对函数的依赖度,将重点转向数据.

长武县13276612510: 什么是面向对象对象,什么是面向过程,什么是面向对象 -
虞瞿盐酸: 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解...

长武县13276612510: 面向对象程序设计语言与面向过程程序设计语言有什么区别啊? -
虞瞿盐酸: 面向对象的特点是:封装,多态,继承.其中多态有分为重载和重写.面向对象的编程思想更加接近现实的事物.有这样几点好处:1、是编程更加容易.因为面向对象更接近于现实,所以你可以从现实的东西出发,进行适当的抽象.2、在软件工程上,面向对象可以使工程更加模块化,实现更低的耦合和更高的内聚.3、在设计模式上(似乎只有面向对象才设计到设计模式),面向对象可以更好的实现开-闭原则.也使代码更易阅读.相对而言,面向过程的程序设计是面向对象程序设计的基础.面向对象的程序里面一定会有面向过程的程序片断的!以上是小生的一点拙见,拿出来班门弄斧,实在不好意思.搂主的这个问题实在太大,还请各位大师给出更好的答案!

长武县13276612510: 如何理解程序设计中的面向过程与面向对象 -
虞瞿盐酸: “面向对象”的优势在于描述静态结构的时候抽象充分,在大多数宣传的“面向对象”为主导的系统中,对象抽象、封装、继承被放在很高地位,对象间的交互只能指望”设计模式“这个东西来进行,时间长了发现这样描述问题还是有缺陷的,框架越来越多、抽象越来越复杂难懂,面向底层程序越来越难编.“面向过程”的优势在于描述动态过程的时候容易理解,时代总在以螺旋式进步,这也是最近的多核编程、函数式编程、大数据分析的一种时代需要吧,又重新考虑”面向过程“为主导的编程方式.但是如果不灌进去一点”面向对象“的思想的话,全局变量满天飞,溢出漏洞到处有的痛苦是前一代程序员都不愿再处理的.

长武县13276612510: 在程序设计中,面向对象和面向过程有什么区别啊?
虞瞿盐酸: 形象点来说,面向过程就是全部都是代码,所有的功能都是代码来实现,面向对象增加了各种元素,窗体,表单什么的,还出现了继承什么的

长武县13276612510: 编程中到底什么是“面向对象”和“面向过程”啊?
虞瞿盐酸: 举个例子 面向过程好像是 你 要去某个地方你知道告诉他怎么走 做什么车 在哪下车 在哪换车而面向对象就是 你只要告诉我要到哪里 就行了 万物皆对象 类就是一个抽象的 东西而对象就是具体的实例了 或者说 类是 一个模具 而对象就是 这个模具生产出来的 产品 我也是学这个的 有时间可以多交流qq32092823

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