C++和JAVA两种面向对象语言的比较.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C和JAVA两种面向对象语言的比较

两种面向对象语言的比较,C++和Java 1概述 面向对象编程的基本思想是把软件(尤其是大型软件)看成是一个由对象所组成的社会。对象拥有足够的智能,能够理解从其它对象接收到的信息,并且以适当的行为对此做出反应;对象能够从上一层对象继承属性和行为,并允许下一层对象从自己继承属性和行为等。拥有相同属性,展示相同行为对象被分为一组,我们就得到了一个类。实际中,我们首先定义一个类,然后通过对类进行实例化来创建这个类的若干对象。 目前,C++和Java 是两种被广泛使用的面向对象程序设计语言。C++是从C 语言发展而来的。贝尔实验室的Dennis Ritchie 于1972 年在一台DEC PDP-11上实现了C 语言。最初,C 语言是作为UNIX 系统的开发语言而被人们广泛了解。在过去的20 年中,大多数计算机上都实现了对C 语言的支持。作为C 语言的扩展,C++是贝尔实验室的Bjarne Stroustrup 于20 世纪80 年代开发出来的。C++提供了大量完善的C 语言的特性,但更重要的是它提供了面向对象的编程功能。今天,基本上所有的操作系统都是用C 或C++编写的。Java 是由美国Sun Microsystems 公司开发的一种能在Internet 上具有“硬件/软件独立性”和交互能力的新型面向对象的程序设计语言。Java 不同于Pascal 这样的个人开发的语言,也不同于一个小组为了自己的使用目的而开发出来的C 或C++,它纯粹是为了商业目的而开发。Java 的一个突出的特性是它的平台无关性,Java 程序可以一次编写而到处使用。 值得指出的是,C++与Java 这两种面向对象语言具有许多的相似之处,将这两种语言放在一起比较是一件有趣的事。然而,将它们的所有特征都拿出来相比是十分困难的。限于篇幅,本文主要就基本语言特征、面向对象机制及相关方面对它们做一个比较。 2. 基本语言特征 2.1 字符集、标识符 字符集是指允许出现在一个语言的程序里的字符的全体。C++采用7 位的ASCII 字符集。我们知道,ASCII 码把每个字符与一个二进制代码相关联,它的范围是0000000 至1111111 之间,也就是十进制的0 至127 之间。与C++不同的是,Java 采用的是16 位的Unicode 字符集,包含65536 个字符。其中,前127 个字符与7 位的ASCII 字符集相同。其它的字符可用于注释、标识符、字符和字符串字面量。当然,用于标识符可能并不好。 与C++相比,Java 采用了更大的Unicode 字符集。这样做的优点是明显的,一个大的字符集其表达能力会很强。例如,字符的16 位表示形式允许Java 标识符包括世界上许多不同地理区域的字母和数字。另一方面,这样也会带来一些问题。比如说,标识符的处理效率低,可读性差等等。 标识符是指用作语言里的关键字以及程序对象的命名的字符序列。对于C++和Java,标识符中的字符必需是字母、数字或者下划线。需要说明的是,这两种语言的标识符都是大小写区别对待的。例如,apple 和AppLE 和APPLE 是3 个不同的标识符。对于标识符的第一个字符,C++和Java 的规定有一点不同。C++要求起始字符必须是字母或下划线,而Java 既允许起始字符是字母或下划线,也允许是美元符号“$”。 2.2 基本类型 C++和Java 的基本类型包括:布尔类型、字符类型、整数类型、浮点类型。 2.2.1 布尔类型 C++中的bool,Java 中的boolean 为布尔类型。一个布尔类型的值只可以是true 或false 二者之一。布尔值用来表示逻辑运算的结果。在C++中,整数和指针都可以隐式地转换为布尔值:非零整数或非空指针转换为true,0 或空指针转换为false。布尔值也可以隐式地转为整数:true 转为1,false 转为0。然而,Java 既不允许将一个布尔类型的数据转为其他类型的数据,也不允许将其它类型的数据转为布尔类型的数据。 2.2.2 字符类型 C++允许我们使用三种不同的字符类型:char、unsigned char 和signed char。一个字符类型的变量占用一个字节的存储,它可以容纳256 个值之一。每个字符常量都对应一个整数值。对于unsigned char,其十进制值的范围是-128 至127;对于signed char,其范围则是0 至255。然而,对于普通的char,其十进制值的范围到底是-128 至127 还是0 至255 呢?这取决于具体的编译器。不管在哪种情况下,差异只出现在那些超出127 的值,而最常用的字符都在127 之内。在Java 中,基本的字符类型只有一个,那就是char。一个char 变量代表一个16位的Unicode 字符,占用两个字节

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档