-
2021-02-12 11:36:50
Java面向对象编程和面向过程编程的区别
本章节目标:
了解面向对象,知道类和对象的区别,会进行类的定义。
知识框架:
Java面向对象编程和面向过程编程的区别
“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想,简称OP。“面向过程”也可称之为“面向记录”编程思想,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。所以面向过程的编程方式关注点不在“事物”上,而是做这件事分几步,先做什么,后做什么。例如:早晨起来:起床、穿衣、洗漱、上班,只要按照这个步骤来,就能实现“一天”的功能,整个这个过程中关注的是一步一步怎么做,并没有关注“人”这个事物。再例如:开门、调整座椅、系好安全带、踩离合、启动、挂档、给油,只要按照这个步骤来,车就走了,显然关注点还是在步骤上,只要实现每一步就行,整个过程并没有关注“汽车”这个事物。
“面向对象”(Object Oriented)是一种以对象为中心的编程思想,简称OO。随着计算机技术的不断提高,计算机被用于解决越来越复杂的问题。一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。同时,面向对象能有效提高编程的效率,通过封装技术,可以像搭积木的一样快速开发出一个全新的系统。面向对象将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
使用面向对象编程思想开发系统,在现代开发中会将面向对象贯穿整个过程,一般包括:OOA/OOD/OOP:
● OOA:面向对象分析(Object-Oriented Analysis)
● OOD:面向对象设计(Object-Oriented Design)
● OOP:面向对象编程(Object-Oriented Programming)
面向过程和面向对象有什么关系呢?面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精。面向对象主要是把事物给对象化,对象包括属性与行为。当程序规模不是很大时,面向过程的方法还会体现出一种优势。因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。但对于复杂而庞大的系统来说,面向过程显得就很无力了。
为了帮助大家理解面向过程和面向对象,我们再来设想一个场景,假如说编写一段程序,模拟一个人抽烟的场景,采用面向过程的方式是这样的:买烟->买打火机->找能够抽烟的场合->点燃香烟->开抽,只要按照这个流程一步一步来,就可以实现抽烟场景,采用面向对象的方式关注点就不一样了,我们会想这个场景都有什么事物参与,每个事物应该有什么行为,然后将这些事物组合在一起,来描述这个场景,例如:一个会抽烟的人(对象)+香烟(对象)+打火机(对象)+允许抽烟的场所(对象),将以上4个对象组合在一起,就实现了抽烟场景,其中采用面向对象的方式开发具有很强的扩展力,例如:人这个对象是可以更换的,打火机也是可以更换的,香烟的品牌也是可以更换的,包括抽烟的场合也是可以更换的。如果采用面向过程方式开发,一步依赖另一步,任何一步都不能变化,变化其中一步则整个软件都会受到影响。
网上发现了一篇文章,说了一下OP与OO的不同,并且打了一个比喻,通俗易懂。有人这么形容OP和OO的不同:用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭。所谓盖浇饭,北京叫盖饭,东北叫烩饭,广东叫碟头饭,就是在一碗白米饭上面浇上一份盖菜,你喜欢什么菜,你就浇上什么菜。我觉得这个比喻还是比较贴切的。蛋炒饭制作的细节,我不太清楚,因为我没当过厨师,也不会做饭,但最后的一道工序肯定是把米饭和鸡蛋混在一起炒匀。盖浇饭呢,则是把米饭和盖菜分别做好,你如果要一份红烧肉盖饭呢,就给你浇一份红烧肉;如果要一份青椒土豆盖浇饭,就给浇一份青椒土豆丝。蛋炒饭的好处就是入味均匀,吃起来香。如果恰巧你不爱吃鸡蛋,只爱吃青菜的话,那么唯一的办法就是全部倒掉,重新做一份青菜炒饭了。盖浇饭就没这么多麻烦,你只需要把上面的盖菜拨掉,更换一份盖菜就可以了。盖浇饭的缺点是入味不均,可能没有蛋炒饭那么香。到底是蛋炒饭好还是盖浇饭好呢?其实这类问题都很难回答,非要比个上下高低的话,就必须设定一个场景,否则只能说是各有所长。如果大家都不是美食家,没那么多讲究,那么从饭馆角度来讲的话,做盖浇饭显然比蛋炒饭更有优势,他可以组合出来任意多的组合,而且不会浪费。盖浇饭的好处就是"菜""饭"分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是"可维护性"比较好,"饭" 和"菜"的耦合度比较低。蛋炒饭将"蛋""饭"搅和在一起,想换"蛋""饭"中任何一种都很困难,耦合度很高,以至于"可维护性"比较差。软件工程追求的目标之一就是可维护性,可维护性主要表现在3个方面:可理解性、可测试性和可修改性。面向对象的好处之一就是显著的改善了软件系统的可维护性。
对于编程语言来说,基于C语言的编程是面向过程的,C++只能说一半面向过程一半面向对象,java语言就是一门完全面向对象的编程语言。有C++基础的同学,学习java应该很快,因为java底层是C++语言实现的。当然,除了java语言之外,还有很多都是完全面向对象的编程语言,例如:C#、Python等。
对于面向过程和面向对象的理解,目前阶段来说还是很难的,毕竟大家现在还停留在只会定义变量,写个if语句阶段,慢慢来吧,我们需要不断的学习后面的内容,然后再加深对面向对象的理解。
更多相关内容 -
面向对象和面向过程的区别(动力节点java学院整理)
2020-08-30 22:22:07很多朋友不清楚面向对象和面向过程有什么区别,接下来小编给大家整理了关于面向对象和面向过程的区别讲解,感兴趣的朋友可以参考下 -
论文研究-关于面向对象与面向过程分析与设计方法的思考 .pdf
2019-08-18 10:33:20关于面向对象与面向过程分析与设计方法的思考,杨彤骥,杨红玉,摘要: 面向对象与面向过程是信息系统的两种分析与设计方法,本文通过一实例对比了两种方法的特点,在开发实践中对面向对象与面� -
面向对象设计方法与面向过程设计方法比较
2014-08-05 14:50:49此文档为面向对象鱼面向过程程序设计方法的比较,更是指出封装性,继承性以及多态性是面向对象设计思想的三个基本特点。 -
面向过程、面向对象、面向组件、面向服务软件架构的分析与比较
2013-09-09 18:27:19面向过程、面向对象、面向组件、面向服务软件架构的分析与比较 -
面向对象和面向过程
2019-03-07 22:19:30一 什么是面向过程?什么是面向对象? 如果面试的时候问面向对象和面向过程的区别,就用Action、Service、 Dao去答。 1.什么是面向过程 仔细思考一下,我们在学习和工作中,当我们去实现某项功能或 完成某...一 什么是面向过程?什么是面向对象?
如果面试的时候问面向对象和面向过程的区别,就用Action、Service、
Dao去答。
1.什么是面向过程
仔细思考一下,我们在学习和工作中,当我们去实现某项功能或
完成某项任务时,是不是会不自觉的按部就班的罗列出我们要做的事
情?而当我们按着我们罗列的步骤去解决问题时,实质上就是按照面向
过程的思想去解决问题。我们罗列的步骤就是过程,按照步骤解决问题
就是面向过程。
传统的面向过程的编程思想总结起来就八个字——自顶向下,逐
步细化!实现步骤如下:
(1)将要实现的功能描述为一个从开始到结束按部就班的连续的步骤
(过程);
(2)依次逐步完成这些步骤,如果某一步的难度较大,又可以将该步
骤再次细化为若干个子步骤,以此类推,一直到结束得到想要的
结果;
(3)程序的主体是函数,一个函数就是一个封装起来的模块,可以实
现一定的功能,各个子步骤往往就是通过各个函数来完成的,从
而实现代码的重用和模块化编程!
案例:学生到校报道注册:
面向过程,就是按照我们分析好了的步骤,按部就班的依次
执行就行了!所以当我们用面向过程的思想去编程或解决问题时,
首先一定要把详细的实现过程弄清楚。一旦过程设计清楚,代码
的实现简直轻而易举。
2.面向对象
所谓的面向对象,就是在编程的时候尽可能的去模拟真实的现
实世界,按照现实世界中的逻辑去处理一个问题,分析问题中参与
其中的有哪些实体,这些实体应该有什么属性和方法,我们如何通
过调用这些实体的属性和方法去解决问题。
现实世界中,任何一个操作或者是业务逻辑的实现都需要一个
实体来完成,也就是说,实体就是动作的支配者,没有实体,就肯
定没有动作发生!
现在让我们思考下,上述注册报名的每一个步骤都有哪些动
词?提出 提供 缴 收 获得 分配 增加有动词就一定有实现这个动作
的实体!
所谓的模拟现实世界,就是使计算机的编程语言在解决相关业
务逻辑的方式,与真实的业务逻辑的发生保持一致!需要使每一个
动作的背后都一个完成这个动作的实体!(比如三层架构中的Dao、
Service、Action)
因为任何功能的实现都是依赖于一个具体的实体的
“动作|操作|行动”,可以看作是一个又一个的实体在发挥其各自的
“能力”并在内部进行协调有序的调用过程!
当采用面向对象的思想解决问题时,可分为下面几步:
(1)分析哪些动作是由哪些实体发出的;
(2)定义这些实体,为其增加相应的属性和功能;
(3)让实体去执行相应的功能或动作。
采用面向对象的思想,解决上面的报名问题,应该如下:
第一步:分析那些动作是由哪些实体发出的
学生提出报名
学生缴费
机构收费
教师分配教室
班级增加学生信息
于是,在整个过程中,一共有四个实体:
学生、机构、教师、班级!
在现实中的一个具体的实体,就是计算机编程中的一个对
象!
第二步:定义这些实体,为其增加相应的属性和功能
属性就是实体在现实世界中的一些特征表现。如:
人的属性:姓名、性别、身高、三围、体重、电话号码、
家庭住址、籍贯等
手机的属性:品牌、价格、颜色、尺寸、待机时间等
功能就是能完成的动作,在面向对象的术语中,动作就叫
作方法或者函数。如:
人的动作(功能):吃饭、睡觉、学习、打游戏、走路、
跑步、缴费!
手机的动作(功能):打电话、发短信、拍照、打游戏、
视频、看电影等
下图显示了在上述实例中出现的实体以及相应的属性和功
能:
第三步:让实体去执行相应的功能或动作
学生提出报名
学生缴费
学校收费
教师分配教室
班级增加学生信息
所以说,面向过程主要是针对功能,而面向对象主要是针对能
够实现该功能的背后的实体。面向对象实质上就是面向实体,所以
当我们使用面向对象进行编程时,一定要建立这样一个观念:万物
皆对象!
面向对象当中又会有面向过程,比如“学校收费这一步”,如果
比较复杂,就需要细化出多个步骤,这又有点像面向过程
3.面向对象和面向过程的比较
在我们将面向过程和面向对象讨论完后,会明显的感觉两者之
间有着很大的区别。面向过程简单直接,易于入门理解,模块化程
度较低。而面向对象相对于面向过程较为复杂,不易理解,模块化
程度较高。可总结为下面三点:
都可以实现代码重用和模块化编程,但是面对对象的模块化更
深,数据更封闭,也更安全!因为面向对象的封装性更强!面对对
象的思维方式更加贴近于现实生活,更容易解决大型的复杂的业务
逻辑从前期开发角度上来看,面对对象远比面向过程要复杂,但是
从维护和扩展功能的角度上来看,面对对象远比面向过程要简单!
如何选择面向对象还是面向过程,对于一个有着丰富开发经验
的老手来说,这是个得心应手的过程。而对于一个新手而言,其实
从两者的对比就可以看出,当我们的业务逻辑比较简单时,使用面
向过程能更快的实现。但是当我们的业务逻辑比较复杂时,为了将
来的维护和扩展,还是面向对象更为靠谱点。
4.在举例子说明面向过程和面向对象的区别,加深理解
五子棋系统
(1)面向过程的设计思路:
步骤一:开始游戏
步骤二:黑子先走
步骤三:绘制画面
步骤四:判断输赢
步骤五:轮到白子
步骤六:绘制画面
步骤七:判断输赢,
步骤八:返回步骤2
步骤九:输出最后结果。
(2)面向对象的设计思路:
整个五子棋可以分为:
* 黑白双方,这两方的行为是一模一样的
* 棋盘系统,负责绘制画面
* 规则系统,负责判定诸如犯规、输赢等。
第一类对象(玩家对象)负责接受用户输入,并告知第二
类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了
棋子的变化就要负责在屏幕上面显示出这种变化,同时利
用第三类对象(规则系统)来对棋局进行判定。
5.什么是面向对象、什么是面向过程一段比较抽象的解释,有功夫看,
没功夫拉到
面向过程就是分析出解决问题所需要的步骤,然后用函数把这
些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面
向对象是把构成问题事务分解成各个对象,建立对象的目的不是为
了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中
的行为。
-
什么是面向对象?什么是面向过程?
2016-10-22 17:24:25这是对面向过程和面向对象的解释,个人参考一些文章后做的小总结。 -
面向对象与面向过程的本质的区别
2018-01-10 20:19:04如果你很想搞明白面向对象是什么,面向过程是什么,或者说二者之间的区别是什么,那么就花费一点时间来研读一下这篇博客,你一定会有很大的收获的! 一、面向对象与面向过程的区别 面向过程就是分析出解决问题所...前言:
如果你很想搞明白面向对象是什么,面向过程是什么,或者说二者之间的区别是什么,那么就花费一点时间来研读一下这篇博客,你一定会有很大的收获的!
一、面向对象与面向过程的区别
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
可以拿生活中的实例来理解面向过程与面向对象,例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用不同的方法来实现。
如果是面向对象的设计思想来解决问题。面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。
可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了多个步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。
上述的内容是从网上查到的,觉得这个例子非常的生动形象,我就写了下来,现在就应该理解了他俩的区别了吧,其实就是两句话,面向对象就是高度实物抽象化、面向过程就是自顶向下的编程!
二、面向对象的特点
在了解其特点之前,咱们先谈谈对象,对象就是现实世界存在的任何事务都可以称之为对象,有着自己独特的个性
属性用来描述具体某个对象的特征。比如小志身高180M,体重70KG,这里身高、体重都是属性。
面向对象的思想就是把一切都看成对象,而对象一般都由属性+方法组成!属性属于对象静态的一面,用来形容对象的一些特性,方法属于对象动态的一面,咱们举一个例子,小明会跑,会说话,跑、说话这些行为就是对象的方法!所以为动态的一面, 我们把属性和方法称为这个对象的成员!
类:具有同种属性的对象称为类,是个抽象的概念。比如“人”就是一类,期中有一些人名,比如小明、小红、小玲等等这些都是对象,类就相当于一个模具,他定义了它所包含的全体对象的公共特征和功能,对象就是类的一个实例化,小明就是人的一个实例化!我们在做程序的时候,经常要将一个变量实例化,就是这个原理!我们一般在做程序的时候一般都不用类名的,比如我们在叫小明的时候,不会喊“人,你干嘛呢!”而是说的是“小明,你在干嘛呢!”
面向对象有三大特性,分别是封装性、继承性和多态性,这里小编不给予太多的解释,因为在后边的博客会专门总结的!
三、面向过程与面向对象的优缺点
很多资料上全都是一群很难理解的理论知识,整的小编头都大了,后来发现了一个比较好的文章,写的真是太棒了,通俗易懂,想要不明白都难!
用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭。所谓盖浇饭,北京叫盖饭,东北叫烩饭,广东叫碟头饭,就是在一碗白米饭上面浇上一份盖菜,你喜欢什么菜,你就浇上什么菜。我觉得这个比喻还是比较贴切的。
蛋炒饭制作的细节,我不太清楚,因为我没当过厨师,也不会做饭,但最后的一道工序肯定是把米饭和鸡蛋混在一起炒匀。盖浇饭呢,则是把米饭和盖菜分别做好,你如果要一份红烧肉盖饭呢,就给你浇一份红烧肉;如果要一份青椒土豆盖浇饭,就给浇一份青椒土豆丝。
蛋炒饭的好处就是入味均匀,吃起来香。如果恰巧你不爱吃鸡蛋,只爱吃青菜的话,那么唯一的办法就是全部倒掉,重新做一份青菜炒饭了。盖浇饭就没这么多麻烦,你只需要把上面的盖菜拨掉,更换一份盖菜就可以了。盖浇饭的缺点是入味不均,可能没有蛋炒饭那么香。
到底是蛋炒饭好还是盖浇饭好呢?其实这类问题都很难回答,非要比个上下高低的话,就必须设定一个场景,否则只能说是各有所长。如果大家都不是美食家,没那么多讲究,那么从饭馆角度来讲的话,做盖浇饭显然比蛋炒饭更有优势,他可以组合出来任意多的组合,而且不会浪费。
盖浇饭的好处就是"菜"“饭"分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是"可维护性"比较好,“饭” 和"菜"的耦合度比较低。蛋炒饭将"蛋”“饭"搅和在一起,想换"蛋”"饭"中任何一种都很困难,耦合度很高,以至于"可维护性"比较差。软件工程追求的目标之一就是可维护性,可维护性主要表现在3个方面:可理解性、可测试性和可修改性。面向对象的好处之一就是显著的改善了软件系统的可维护性。
看了这篇文章,简单的总结一下!面向过程
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展面向对象
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程低 -
面向对象和面向过程很本质的差别是哪个?
2021-05-22 18:13:30面向对象和面向过程很本质的差别在于考虑问题的出发点不同,面向过程是以事件流程为考量问题的出发点,而面向对象则是以参加事件的角色(对象)为考量问题的出发点,所以面向对象在处理难题时非常灵活。目前,面向过程...面向对象和面向过程很本质的差别在于考虑问题的出发点不同,面向过程是以事件流程为考量问题的出发点,而面向对象则是以参加事件的角色(对象)为考量问题的出发点,所以面向对象在处理难题时非常灵活。目前,面向过程的语言更多被用于处理底层业务,而面向对象编程则更多用于推动一些业务逻辑复杂的大型平台。
从结构下来说,面向过程的特征是模块化和流程化,而面向对象的特征是封装、继承和多态,这上面就有本质的差别了。面向过程以功能(函数)作为模块化的基础,而面向对象则以类成为功能的组织基础,而类必须一个“抽象”的过程。比如在Java中,完成一个功能的调用应该三个步骤,分别是类的定义,对象的构建,方法的调用,看一个例子:
而C语言的功能实现则便于得多,看一个例子:
通过这个事例我们看到,Java更麻烦一些,Java需要先按照功能抽象出类,然后构建出对象,再之后借助对象能够完成对方式的调用,而C语言则只应该函数的定义跟读取,并不需要创建对象,所以C语言的执行效率更高。
但是因为有了对象的概念,面向对象编程的灵活性更强,对象与对象之间也可以形成非常复杂的交互关系,也因而会有继承和多态的概念。继承的核心特征是复用,避免的文章面向对象与过程的区别,大家可以关注我的头条号并查看,这里就不赘述了。
我使用Java和C语言的时间都非常久,我在头条上也写了关于Java编程方面的系列文章,如果有编程方面的难题,也可以咨询我。
谢谢!
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-131160-1.html
-
php面向过程和面向对象的区别
2019-10-21 17:46:19PHP语言是同时可以应用面向过程和面向对象方式的编程,面向过程与面向对象在许多编程语言中只能使用二者之一来进行编程,但是PHP语言与其他编程语言有不同之处,那就是我们可以自由的选择某种编程方式,或者将PHP... -
java中面向对象与面向过程的区别详解
2022-02-18 19:53:54java中面向对象与面向过程的区别详解,这里以举例的方式加上通俗易懂的语言描述并辅以官方的定义以供参考对照,来深入本质理解其内容,。 -
面向对象和面向过程最本质的区别是什么?
2021-03-05 18:02:12面向对象和面向过程最本质的区别在于考虑问题的出发点不同,面向过程是以事件流程为考虑问题的出发点,而面向对象则是以参与事件的角色(对象)为考虑问题的出发点,所以面向对象在处理问题时更加灵活。目前,面向过程... -
面向过程和面向对象程序设计的区别
2022-01-24 19:48:301.面向过程的程序设计语言 所谓面向过程是指从要解决的问题出发,围绕问题的解决过程分析问题。 面向过程的分析方法是问题的具体解决步骤,以及解决问题所需要的数据, 所以在面向过程程序设计中,重点是设计算法... -
关于 面向过程编程 和 面向对象编程几个例子
2021-01-16 23:33:17面向对象如活字印刷,面向过程如雕版印刷,面向过程的时候你需要从头到尾考虑每一个细节,比如你要刻下学而时习之,不亦说乎这几个字,如果是雕版印刷,你肯定要一环扣一环,“学”后面要刻“而”,“而”后面要刻好... -
编程思想:面向对象和面向过程的区别与联系
2020-10-07 20:53:55何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中。我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起。而这种茫然,其实就是对这两大编程思想的迷糊之处。 本文来... -
面向过程与面向对象
2019-06-12 08:59:10《目录》 面向过程与面向对象 C 与 C++ 的区别 代码复用 分层思想 封装、继承、多态 C语言实现封装 C语言实现继承 C语言实现多态 ... -
python是面向对象还是面向过程的
2020-12-29 00:34:06正因为如此,在Python中创建一个类和对象是很容易的,当然如果习惯面向过程或者函数的写法也是可以的,Python并不做硬性的限制。Python的面向对象特征如下:封装面向对象程序设计中的术语对象(Object)基本上可以看做... -
面向对象和面向过程的区别
2019-09-28 21:45:37面向对象和面向过程的区别 首先了解一下两者的概念: 面向对象:简称oop : object oriented programming,简单来说就是根据类创建对象,每个对象都有自己的属性和方法,而这些属性和方法都是围绕对象服务的,你会... -
面向过程与面向对象的区别和优缺点
2020-12-10 18:18:511、面向过程和面向对象的区别 -面向过程:主要关注点是实现的过程,因果关系 优点:对于业余逻辑比较简单的程序,可以达到快速开发,前期投入比较低 缺点:采用面向过程的方式开发很难解决一些比较复杂的... -
对面向对象和面向过程的理解
2020-03-26 20:17:04面向过程的程序设计 比如说,要去做一件事情,那么我就需要知道这件事情要怎么做,第一步应该做什么,第二步应该做什么,我们都会不自觉的按部就班的罗列出我们要做的事情。而当我们按着我们罗列的步骤去解决问题时... -
面向对象程序设计与面向过程程序设计_面向对象程序设计_面向对象的理解
2021-05-23 01:19:44面向对象程序设计与面向过程程序设计4、Call Bs function f()Call Bs function g()Call Cs function g()一、单项选择题 (在每小题的备选答案中选出一个正确的答案。每小题2分,共30分)1.cout是I0流库预定义的A 类 B ... -
面向对象编程与面向过程编程的基本区别
2020-06-01 13:07:34面向对象:面向对象编程(Object Oriented Programming,面向对象程序设计)的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙一个事物在整个解决问题的步骤中的... -
面向对象和面向过程的区别及面试问答
2021-04-19 15:35:58面向对象和面向过程的区别 面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix 等一般采用面向... -
C、C++?面向对象?面向过程?
2020-09-13 10:40:24在学习C、C++以来,一直是在使用它们来编程,却从没有去仔细的考虑过他们的基本的思想,突然被问到面向对象、面向过程的时候,就会有一些吞吞吐吐,模棱两可(这都不知道,还好意思说自己会C、C++??面试官:好了下... -
C语言知识分享:面向对象和面向过程到底是怎么回事?
2019-11-22 13:48:16今天下午在一个组的项目回顾会议上,这个同事讲了自己用DDD思想对三个模块的重构。把之前在Service层的一些业务逻辑下沉到了领域层里,由之而引起的讨论。...于是引出了我的一个问题:“到底什么是面向对... -
Python零基础入门篇 - 33 - 你了解编程范式吗?面向过程编程与面向对象编程的区别又是什么?
2022-03-07 22:02:57面向过程编程不足之处就是它不适合某些种类问题的解决,例如图形化编程,在图形化编程中,客观世界由具体的对象(窗口、标签、按钮等)组成,无法自然的将函数与图形对象一一对应,因此面向过程编程不适合用于图形... -
关于面向过程和面向对象的理解
2018-07-01 21:32:34要搞清楚面向过程和面向对象,必须搞清楚以下3点:1、什么是面向过程的程序设计思想?2、用面向过程的程序设计思想编写程序时有什么问题?3、为解决面向过程思想中的致命缺陷,于是C语言引入了封装类,进入了面向对象... -
面向过程、面向对象、面向服务、面向切面
2019-10-06 22:54:55在早期进行软件开发的时候,计算机配置低、内存小,节省内存成了首要目标,哪怕是运行的时间长些也无所谓,由此诞生的“面向过程编程”采取“时间换空间”的策略,少存储、运算过程中涉及到的数据都在内存中暂存,... -
面向过程与面向对象的区别
2019-03-04 17:10:29面向过程(Procedure Oriented):以过程为核心,强调事件的流程、顺序,如:C语言。 面向对象(Object Oriented):以对象为核心,强调事件的角色、主体,如:C++、Java。 二、案例 小明起床上班这件事; 从...