c++和java两种面向对象语言的比较

c++和java两种面向对象语言的比较

ID:14928296

大小:70.00 KB

页数:17页

时间:2018-07-31

c++和java两种面向对象语言的比较_第1页
c++和java两种面向对象语言的比较_第2页
c++和java两种面向对象语言的比较_第3页
c++和java两种面向对象语言的比较_第4页
c++和java两种面向对象语言的比较_第5页
资源描述:

《c++和java两种面向对象语言的比较》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、两种面向对象语言的比较,C++和Java1概述面向对象编程的基本思想是把软件(尤其是大型软件)看成是一个由对象所组成的社会。对象拥有足够的智能,能够理解从其它对象接收到的信息,并且以适当的行为对此做出反应;对象能够从上一层对象继承属性和行为,并允许下一层对象从自己继承属性和行为等。拥有相同属性,展示相同行为对象被分为一组,我们就得到了一个类。实际中,我们首先定义一个类,然后通过对类进行实例化来创建这个类的若干对象。目前,C++和Java是两种被广泛使用的面向对象程序设计语言。C++是从C语言发展而来的。贝尔实验室的DennisRitchie于1972年在一台DECPDP-11上

2、实现了C语言。最初,C语言是作为UNIX系统的开发语言而被人们广泛了解。在过去的20年中,大多数计算机上都实现了对C语言的支持。作为C语言的扩展,C++是贝尔实验室的BjarneStroustrup于20世纪80年代开发出来的。C++提供了大量完善的C语言的特性,但更重要的是它提供了面向对象的编程功能。今天,基本上所有的操作系统都是用C或C++编写的。Java是由美国SunMicrosystems公司开发的一种能在Internet上具有“硬件/软件独立性”和交互能力的新型面向对象的程序设计语言。Java不同于Pascal这样的个人开发的语言,也不同于一个小组为了自己的使用目的而

3、开发出来的C或C++,它纯粹是为了商业目的而开发。Java的一个突出的特性是它的平台无关性,Java程序可以一次编写而到处使用。值得指出的是,C++与Java这两种面向对象语言具有许多的相似之处,将这两种语言放在一起比较是一件有趣的事。然而,将它们的所有特征都拿出来相比是十分困难的。限于篇幅,本文主要就基本语言特征、面向对象机制及相关方面对它们做一个比较。2.基本语言特征2.1字符集、标识符字符集是指允许出现在一个语言的程序里的字符的全体。C++采用7位的ASCII字符集。我们知道,ASCII码把每个字符与一个二进制代码相关联,它的范围是0000000至1111111之间,也就

4、是十进制的0至127之间。与C++不同的是,Java采用的是16位的Unicode字符集,包含65536个字符。其中,前127个字符与7位的ASCII字符集相同。其它的字符可用于注释、标识符、字符和字符串字面量。当然,用于标识符可能并不好。与C++相比,Java采用了更大的Unicode字符集。这样做的优点是明显的,一个大的字符集其表达能力会很强。例如,字符的16位表示形式允许Java标识符包括世界上许多不同地理区域的字母和数字。另一方面,这样也会带来一些问题。比如说,标识符的处理效率低,可读性差等等。标识符是指用作语言里的关键字以及程序对象的命名的字符序列。对于C++和Jav

5、a,标识符中的字符必需是字母、数字或者下划线。需要说明的是,这两种语言的标识符都是大小写区别对待的。例如,apple和AppLE和APPLE是3个不同的标识符。对于标识符的第一个字符,C++和Java的规定有一点不同。C++要求起始字符必须是字母或下划线,而Java既允许起始字符是字母或下划线,也允许是美元符号“$”。2.2基本类型C++和Java的基本类型包括:布尔类型、字符类型、整数类型、浮点类型。2.2.1布尔类型C++中的bool,Java中的boolean为布尔类型。一个布尔类型的值只可以是true或false二者之一。布尔值用来表示逻辑运算的结果。在C++中,整数和

6、指针都可以隐式地转换为布尔值:非零整数或非空指针转换为true,0或空指针转换为false。布尔值也可以隐式地转为整数:true转为1,false转为0。然而,Java既不允许将一个布尔类型的数据转为其他类型的数据,也不允许将其它类型的数据转为布尔类型的数据。2.2.2字符类型C++允许我们使用三种不同的字符类型:char、unsignedchar和signedchar。一个字符类型的变量占用一个字节的存储,它可以容纳256个值之一。每个字符常量都对应一个整数值。对于unsignedchar,其十进制值的范围是-128至127;对于signedchar,其范围则是0至255。然

7、而,对于普通的char,其十进制值的范围到底是-128至127还是0至255呢?这取决于具体的编译器。不管在哪种情况下,差异只出现在那些超出127的值,而最常用的字符都在127之内。在Java中,基本的字符类型只有一个,那就是char。一个char变量代表一个16位的Unicode字符,占用两个字节的存储。Java的char变量是无符号的,这表示它相应的整数值的范围是0至65535。2.2.3整数类型C++和Java都支持这三种整数类型:short、int和long。除此之外,C++还支持无

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。