Java软件设计基础
,使得不安全因素大大增加。
.Java中系统要对对象的处理进行严格的相容性检查,防止不安全的转
换。如果需要,必须由程序显式进行强制类型转换。
–头文件
.在C++语言中使用头文件声明类的原型和全局变量及库函数等,使
得在大系统中对头文件的维护非常困难。
.Java不支持头文件,类成员的类型和访问权限都封装在类中,运行时
系统对访问进行控制,防止非法访问。
PDF 文件使用 "pdfFactory Pro" 试用版本创建
School of Computer Science and Technology
–结构和联合
.C++中用结构和联合来表示一定的数据结构,其成员的公有性带来
了安全隐患。
.Java不支持结构和联合,通过类把数据结构及对该数据的操作封装在
类中。
–预处理
.C++在编译过程中都有一个预编译阶段,即预处理器,为开发人员
提供了方便,但也增加了编译的复杂性。
.Java允许预处理,但不支持预处理器功能,提供import语句实现类似
的功能。
–多重继承
.C++支持多重继承,允许许多父类派生一个子类,虽然功能强大,
但使用复杂,而且会引起许多麻烦,编译程序实现也很不易。
.Java不支持多重继承,但允许一个类实现多个接口,即实现了C++的
多重继承功能,又避免了C++的缺陷。
School of Computer Science and Technology
–结构和联合
.C++中用结构和联合来表示一定的数据结构,其成员的公有性带来
了安全隐患。
.Java不支持结构和联合,通过类把数据结构及对该数据的操作封装在
类中。
–预处理
.C++在编译过程中都有一个预编译阶段,即预处理器,为开发人员
提供了方便,但也增加了编译的复杂性。
.Java允许预处理,但不支持预处理器功能,提供import语句实现类似
的功能。
–多重继承
.C++支持多重继承,允许许多父类派生一个子类,虽然功能强大,
但使用复杂,而且会引起许多麻烦,编译程序实现也很不易。
.Java不支持多重继承,但允许一个类实现多个接口,即实现了C++的
多重继承功能,又避免了C++的缺陷。
PDF 文件使用 "pdfFactory Pro" 试用版本创建
School of Computer Science and Technology
–操作符重载
.操作符重载被认为是C++的突出特征。
.为了保持Java语言尽可能的简单,Java不支持操作符重载。
–函数
.在C中,代码组织在函数中,函数可
以访问程序的全局变量;C++增
加了类,提供了类方法,但由于C++仍然支持C,所以C++程序中仍然
可以使用C的函数,结果导致函数和方法混合使用,使得程序比较混乱
。
.Java没有函数。作为一种比C++更纯的面向对象的语言,强迫开发人
员把所有例行程序包括在类中,可以更好的组