C++和java的面向对象机制有什么不同?

 我来答
匿名用户
2016-06-23
展开全部
c/c++比较早,C++引入了面向对象的概念,尽管它还不是纯粹的面向对象语言。关于c/c++就不用多说了,他们地位是撼不动的。很强大。后来Java出来了,同样震精世界了啊,纯粹的面向对象,不像c++那样还保留了些许面向过程的思想。因为其跨平台的原因,java的运行机制和其他语言不一样,引入了虚拟机的概念,它既不属于编译型的语言也不属于解释型的语言,而处于中间,他将源代码编译成了所谓的字节码,由虚拟机负责解释然后和本地操作系统沟通并执行,可以说他编译是面向虚拟机的,而非特定的机器,这点和C以及其他编译型语言有明显的区别。当然Java取消了c/c++里面指针的概念,减少了程序员的负担。要说他们的相同点,那就是他们都编程语言,都能完成人们赋予它们的任务。要说不同点,那就它们属于不同的家族,每个家族都有他们擅长的领域、和不擅长的领域。比如,你要去写一个底层的驱动了,那么你把C语言拿过来了,给你个单片机让你写个程序控制某台机器,你又把C语言拿出来了,第二天又让你写个网站程序,会员注册管理之类的,这个时候你把java的j2ee搬出来了,搞定了。相信从这里你就看出来,他们的区别在哪里了,也就是他们各自擅长的领域和不擅长的领域在哪里。你绝对不能用java语言去开发一个驱动程序,你更不能用C语言,去写一个B/S架构的网站,试图取代javaee里面的servlet那就累了。当然,除了这些语言之外,还有很多的语言可供选择,有时候各种语言会重叠,实现同一任务,会有N多可选择的语言,这个时候,就根据你喜欢了,或者说公司有要求,必须用什么写,你就用什么写,最终完成任务。我不赞成,把各种语言拿过来横向对比,非得排出一个序来,争的脸红脖子粗,来证明谁更牛逼,谁第二牛逼,等等。就好比你写一个windows窗口应用程序,你可以用c也可以用vc++mfc也可以用delphi还可以用c#甚至还能用易语言,当然也能用java,java里面又能选择使用AWT,SWING,SWT等等。。。这么多的选择,只能说,你喜欢用哪个、哪个用的顺手就用哪个,不纯正谁比谁牛逼的问题。我用一根针,来削铅笔,很费劲不能实现,拿过来一把小刀,很轻松就完成任务了,我认为刀子比针牛逼;后来我需要缝衣服了,把刀子拿过来怎么缝也缝不好,结果用针很轻松的完成任务了,我又感觉针比刀子牛逼。到底谁牛逼?能够学会在不同的场合使用最合适的工具的人,才是最牛逼的,而刀子和针,仅仅是一个没有思想的工具罢了,程序语言也是一样的。
哎呀……18a91a6
2016-06-23 · TA获得超过4.2万个赞
知道大有可为答主
回答量:7246
采纳率:76%
帮助的人:3032万
展开全部
面向对象是一种编程理念,也是一种编程方式。
从编程理念和编程方式来说,面向对象就是面向对象,没有什么不同。
C++和java都有类,都有继承,这就是典型的面向对象。

------------一些额外想说的,有耐心可以看看,仅个人看法-----------

个人认为,JAVA相对于C++来说,除了语法、编译环境的差异外,更被人们关注的是它的跨平台能力,至于那些教授或高深书里的理论,常常让人云里雾里,不知所云。
主流的编程语言常常没有好坏之分,有的只是使用的方便度,以及当前能得到的编程编译环境。

1、面向对象就是把一个一个功能设计成模块的型式,模块有传入参数,有传出参数。特定的传入参数下,实现特定的功能,以参数传出的方式,或改变参数指向地址的值的方式来实现。它最重要的一点就是模块编制好以后,使用模块时,不必去考虑模块内部的具体实现。
2、在上一点的基础上,模块的化代码的延升,比如多个模块组合成一个功能模块,一个功能模块的基础上添加其它功能或简化输入输出等,就是模块的继承等等特性。
3、面向对象编程时,一般首要考虑模块的独立性,模块内部与外界联系越少越好,越稳定。在这个基础上再综合考虑代码的执行效率。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式