编程思想基础:面向对象和面向过程的区别
4个回答
展开全部
一、主体不同
1、面向对象:相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
2、面向过程:同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。
二、特点不同
1、面向对象:每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,标识都不改变,不同的对象不能有相同的标识。
2、面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
三、功能不同
1、面向对象:向对象开发是一种根本不同于传统的功能分解的设计方法。面向对象的软件分解更接近人对客观事务的理解,而功能分解只通过问题空间的转换来获得。
2、面向过程:主要是把事物给对象化,对象包括属性与行为。当程序规模不是很大时,面向过程的方法还会体现出一种优势。
参考资料来源:百度百科-面向过程
参考资料来源:百度百科-面向对象
展开全部
1、面向过程是具体的东西,而且面向过程是面向对象的基础。
2、面向对象可以说是面向过程的抽象,比如汽车有开车,加减速和刹车,关于汽车的操作有好多,每一个都需要一个具体的过程来实现,把这些过程抽象的总结起来就可以形成一个类,这个类包括的汽车所有的东西,所有的操作。
3、总结来说就是,面向过程是一种基础的方法,它考虑的是实际的实现,一般情况下,面向过程是自顶向下逐步求精,其最重要的是模块化的思想方法。因此在模块化编程的时候才会有“低耦合,高内聚”的思想来提高效率。面向对象的方法主要是把事物给对象化,包括其属性和行为。当程序较小的时候,面向过程就会体现出一种优势,其程序流程十分清楚。但是,面向对象编程更贴近实际生活的思想。
4、面向过程是具体化的,流程化的。解决一个问题,需要一步一步分析需要怎样,然后需要怎样,一步一步实现的。面向对象是模型化的,抽象出一个类,这是一个封闭的环境,在这个环境中有数据有解决问题的方法,你如果需要什么功能直接使用就可以了,至于是怎么实现的,你不用知道。
5、从代码层面来看,面向对象和面向过程的主要区别就是数据是单独存储还是与操作存储在一起。在类的里边,实现具体的功能还是需要流程化、具体化的代码去实现的,在类里还是需要具体的算法来实现的。总结来说面向对象的底层还是面向过程,面向过程抽象成类,然后封装,方便使用就是面向对象。
2、面向对象可以说是面向过程的抽象,比如汽车有开车,加减速和刹车,关于汽车的操作有好多,每一个都需要一个具体的过程来实现,把这些过程抽象的总结起来就可以形成一个类,这个类包括的汽车所有的东西,所有的操作。
3、总结来说就是,面向过程是一种基础的方法,它考虑的是实际的实现,一般情况下,面向过程是自顶向下逐步求精,其最重要的是模块化的思想方法。因此在模块化编程的时候才会有“低耦合,高内聚”的思想来提高效率。面向对象的方法主要是把事物给对象化,包括其属性和行为。当程序较小的时候,面向过程就会体现出一种优势,其程序流程十分清楚。但是,面向对象编程更贴近实际生活的思想。
4、面向过程是具体化的,流程化的。解决一个问题,需要一步一步分析需要怎样,然后需要怎样,一步一步实现的。面向对象是模型化的,抽象出一个类,这是一个封闭的环境,在这个环境中有数据有解决问题的方法,你如果需要什么功能直接使用就可以了,至于是怎么实现的,你不用知道。
5、从代码层面来看,面向对象和面向过程的主要区别就是数据是单独存储还是与操作存储在一起。在类的里边,实现具体的功能还是需要流程化、具体化的代码去实现的,在类里还是需要具体的算法来实现的。总结来说面向对象的底层还是面向过程,面向过程抽象成类,然后封装,方便使用就是面向对象。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
您好:
面向对象 和面相过程本质区别就好比电影里面的“谁是主角”。面相过程就是只有一个主角,他从开始演出到结束,其他演员都是配合他来演出。而面相对象就不同了,人人都是主角,每个演员都有自己的荧幕和动作。
之于过程,顾名思义就是只是一个过程,并不关心过程中用到的一些属性和方法。而面相对象则注重元素的属性和方法。
当然这本身就是一个抽象的概念,需要慢慢斟酌。最后希望能采纳谢谢!
面向对象 和面相过程本质区别就好比电影里面的“谁是主角”。面相过程就是只有一个主角,他从开始演出到结束,其他演员都是配合他来演出。而面相对象就不同了,人人都是主角,每个演员都有自己的荧幕和动作。
之于过程,顾名思义就是只是一个过程,并不关心过程中用到的一些属性和方法。而面相对象则注重元素的属性和方法。
当然这本身就是一个抽象的概念,需要慢慢斟酌。最后希望能采纳谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最根本的不同是思维方式的不同。
面向对象编程的思考方法是,我要做的东西包含哪些概念,我要设计哪些类来表示这些概念,这些类有哪些属性,应该提供什么样的访问接口,设计什么样的继承体系等。然后用这些类像搭积木一样把程序搭出来。
而面向过程开发的思维方式是,程序=算法+数据结构。你要思考的是程序涉及到哪些算法,设计什么样的数据结构去配合这些算法。
希望对你有所帮助,望采纳!!
面向对象编程的思考方法是,我要做的东西包含哪些概念,我要设计哪些类来表示这些概念,这些类有哪些属性,应该提供什么样的访问接口,设计什么样的继承体系等。然后用这些类像搭积木一样把程序搭出来。
而面向过程开发的思维方式是,程序=算法+数据结构。你要思考的是程序涉及到哪些算法,设计什么样的数据结构去配合这些算法。
希望对你有所帮助,望采纳!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询