问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java是面向对象的还是面向过程的?

发布网友 发布时间:2022-04-28 12:12

我来回答

5个回答

热心网友 时间:2023-10-09 00:01

JAVA是面向对象的。
两者的区别如下:

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

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

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

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

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

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

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

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

热心网友 时间:2023-10-09 00:02

我认为java技能面向对象也能面向过程。例如你是程序员要给数组排序,使用java的话,直接调用sort就可以,这就面向对象了,如果你不用,java自带的sort自己排序的话那就面向过程了。如果用C的话那么你就得会什么冒泡了或什么算法来排序,因为他没有sort排序这个方法,所以就面向过程了你明白没?

热心网友 时间:2023-10-09 00:02

Java语言是完全面向对象编程语言!

面向对象三大特性:

继承:一般类只能单继承,内部类实现多继承,接口可以多继承

封装:访问权限控制public > protected > 包 > private 内部类也是一种封装

多态:编译时多态,体现在向上转型和向下转型,通过引用类型判断调用哪个方法(静态分派)。

运行时多态,体现在同名函数通过不同参数实现多种方法(动态分派)。



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

面向过程:优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗源;比如嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。

缺点:没有面向对象易维护、易复用、易扩展。

面向对象:优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统。

缺点:性能比面向过程低。

热心网友 时间:2023-10-09 00:03

面向过程:基本是以函数为单位的,精确描述动作先后过程。
面向对象:封装,继承,多态。类和对象是面向对象的基本单位,类联系是继承层次和体系结构。

热心网友 时间:2023-10-09 00:04

面向对象,区别在于面向对象的三大特征:
1.封装性,相关数据和方法封装在类中
2.继承性,可以继承已有的类,达到代码重用
3.多态性,也就是重载和覆写

热心网友 时间:2023-10-09 00:01

JAVA是面向对象的。
两者的区别如下:

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

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

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

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

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

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

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

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

热心网友 时间:2023-10-09 00:02

我认为java技能面向对象也能面向过程。例如你是程序员要给数组排序,使用java的话,直接调用sort就可以,这就面向对象了,如果你不用,java自带的sort自己排序的话那就面向过程了。如果用C的话那么你就得会什么冒泡了或什么算法来排序,因为他没有sort排序这个方法,所以就面向过程了你明白没?

热心网友 时间:2023-10-09 00:02

Java语言是完全面向对象编程语言!

面向对象三大特性:

继承:一般类只能单继承,内部类实现多继承,接口可以多继承

封装:访问权限控制public > protected > 包 > private 内部类也是一种封装

多态:编译时多态,体现在向上转型和向下转型,通过引用类型判断调用哪个方法(静态分派)。

运行时多态,体现在同名函数通过不同参数实现多种方法(动态分派)。



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

面向过程:优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗源;比如嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。

缺点:没有面向对象易维护、易复用、易扩展。

面向对象:优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统。

缺点:性能比面向过程低。

热心网友 时间:2023-10-09 00:03

面向过程:基本是以函数为单位的,精确描述动作先后过程。
面向对象:封装,继承,多态。类和对象是面向对象的基本单位,类联系是继承层次和体系结构。

热心网友 时间:2023-10-09 00:04

面向对象,区别在于面向对象的三大特征:
1.封装性,相关数据和方法封装在类中
2.继承性,可以继承已有的类,达到代码重用
3.多态性,也就是重载和覆写
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2023年辽宁高考399分能报哪些公办大学 额头有杂音是什么意思啊 ...反应也不是一般的迟钝,胆子还越来越小,叫我的声音稍大就会被吓... 2022天津理工大学各省录取分数线 ...一个是个胖子 一个是个小矮子 一个是个黄头发的男人 一个是个穿... 我是河南理科女今年考了545 报考天津理工大学一本希望大不?二本专业... ...一个是个胖子 一个是个小矮子 一个是个黄头发的男人 还有一个是个... 有个手机游戏 图标就是一个黄头发的人背着弓箭 游戏内容是两个人_百度... 我是男生从小就怕那些动物,比如青蛙,觉得一想青蛙的皮肤就全身鸡皮疙瘩... ...不是昆虫总动员,其中片段是,一群昆虫被青蛙吃进肚子里,它们在里面... 请问Java是面向对象语言么? 哪位大神有郝斌SQL数据库的自学视频免费下载的链接? 谁知道那里有不错的SQL数据库学习视频? 数据库应用技术 SQL server 的学习视频 我想学习MSsql和oracle这两个数据库,基础只有C语言的,求个好的视频,谢... 各位大侠求推荐一个学习sql数据库的视频,我是学嵌入的!给点意见吧!非常感谢哟!不好意思我没有金币了! SQL2008学习视频有的麻烦发下谢谢 谁能帮我找到学习vfp 中的sql视频 感觉这个sql太难懂了 有没有比较好的学习SQL Server 2008的视频,书籍啊 哪里有学习sql或者oracle数据库的视频教程 学习sql的好的网站或者视频链接下载。求 ERP的SQL语句学习视频 请广大网友给我推荐一个学习数据库(SQL)的视频网站,零基础的。只是专升本考试,要入门教学的@@ 学习SQL SERVER看谁的视频教程比较好! sql学习视频 求零基础学习SQL的教学视频 想学sql编程,看哪些视频和书比较好 如果对方将您拉黑了,怎么恢复? wps office插入图片后怎么打字 pu皮是什么皮 pu是什么材质 怎么知道好友被封了? 怎么知道好友微信被冻结了 怎么知道对方是否被封? 怎么知道好友被封了 我自己冻结微信好友会知道吗,微信会不会发信息给好友告诉他们我自己冻结微信了? 怎么知道自己的被封了 被封怎么查看里边的好友? 被盗,被冻结了,好友都被拉黑了,我怎么找回? 我的微博别人不关注不能点赞,点赞会提示“由于对方设置关注才能点赞”是怎么回事,怎么取消? ...的微博无法点赞,其他人可以点赞。突然想到,要怎样设置才能不让别人点... 请问可以通过微博好友点赞看到不是好友的人发的未必朋友圈吗? 互相不知道对方的微博也没有互相关注为什么会有同一个陌生人点赞 微博对方没关注我.他微博的好友可以看到我点赞吗? ps抠图 怎么扣 ps抠图合成的问题,假如我想把第一张人物的纹身抠下来放到第二张的人身上,但抠下的纹身周围皮肤的颜色 精疲力竭的意思是什么 精疲力竭是什么意思呢? 对于学计算机科学的人而言,读研究生有什么意义? 筋疲力竭和精疲力竭的意思是什么? 对于计算机专业的人来说,考研的用处有多大?