面向对象程序设计
2009-3
清华大学出版社
叶乃文,王丹 编著
374
499000
面向对象的程序设计方法是当今普遍使用并大力推广的一种程序设计方法,它是计算机软件开发人员必须掌握的基本技术。《21世纪大学本科计算机专业系列教材:面向对象程序设计(第2版)》根据国内外最新的面向对象程序设计课程的教学大纲要求,按照首先阐述面向对象程序设计方法的相关概念,然后选择具有典型特征的实例,并利用Java程序设计语言举例说明的基本教学策略来论述本课程的全部内容。学生通过本书的学习,能够真正掌握面向对象的程序设计方法,学会Java程序设计的基本方法,养成良好的程序设计习惯。
第1章 面向对象程序设计概论
1.1 结构化程序设计方法
1.1.1 结构化程序设计方法的产生背景
1.1.2 结构化程序设计方法
1.1.3 利用结构化的程序设计方法求解问题域的基本过程
1.2 面向对象程序设计方法
1.2.1 面向对象程序设计方法的产生背景
1.2.2 面向对象程序设计方法
1.3 基本概念
1.3.1 抽象
1.3.2 封装
1.3.3 对象
1.3.4 类
1.3.5 消息
1.3.6 继承
1.3.7 多态
1.3.8 UML
1.4 面向对象的程序设计语言
1.4.1 什么是面向对象的程序设计语言
1.4.2 几种具有代表性的面向对象的程序设计语言
本章小结
课后习题
第2章 Java程序设计语言概述
2.1 Java程序设计语言的发展
2.2 Java程序设计语言的基本特征
2.3 Java程序设计语言的环境
2.4 Java程序的基本结构
2.5 Java程序的基本数据类型
2.6 标识符、注释、直接量、变量和常量
2.7 Java程序的输入输出
2.8 运算符和表达式
2.9 流程控制语句
2.10 一维数组
2.10.1 一维数组的声明与创建
2.10.2 一维数组的初始化
2.10.3 一维数组元素的访问
2.10.4 一维数组的复制
2.l0.5 Arrays类的应用
2.10.6 一维数组的应用举例
2.11 二维数组
2.11.1 二维数组的声明与创建
2.11.2 二维数组的初始化
2.11.3 二维数组元素的访问
2.11.4 二维数组的应用举例
2.12 字符串常量String
本章小结
课后习题
上机实践题
第3章 抽象与封装
3.1 抽象与封装的实现技术
3.2 类
3.2.1 类的定义
3.2.2 成员变量的声明与初始化
……
第4 继承与多态
第5 面向对象的软件开发过程
第6 异常处理
第7 流式输入输出及文件处理
第8 泛型程序设计与数据结构
第9 图形用户界面
第10 多线程程序设计
第11 数据库访问的编程技术
参考文献
版权页: 插图: 4.健壮性 Java语言致力于在编译期间和运行期间对程序可能出现的错误进行检查,从而保证程序的可靠性,特别是在下面几个方面进行检查。 (1)Java语言对数据类型的检查,可以尽早地发现程序执行中的隐患问题。 (2)Java语言具有内存管理的功能。它采用自动回收垃圾的方式,避免在程序运行过程中由于人工回收无用内存而带来的问题。 (3)Java语言不允许通过直接指出内存地址的方式对其单元的内容进行操作,即没有c语言中的指针概念。这样可以提高整个系统的安全性、可靠性。 5.结构中立 为了使Java真正与环境无关,Java源程序需要经过编译和解释两个阶段才能运行。对Java源程序编译的结果将生成一个称为字节码(byte code)的中间文件。该字节码的格式已被标准化,任何Java虚拟机都可以识别这种字节码,并将它解释成本机系统的机器指令。这种运行机制保证了Java与设备的无关性。 6.安全性 Java语言的安全性主要从两个方面得到保证。 (1)在Java语言中,删去了C++语言中指针和释放内存的操作,所有对内存的访问都必须通过类的实例变量实现,从而避免了非法的内存操作。 (2)在Java程序执行之前,要经过很多安全性的检测,包括检验代码段格式、对象操作是否超出范围、是否试图改变一个对象的类型等,从而避免病毒的侵入以及破坏系统正常运行的情况发生。 7.可移植性 与环境无关,使得Java应用程序可以在配置了Java解释器和运行环境的任何计算机系统上运行,这奠定了Java应用软件便于移植的良好基础。但仅如此还远远不够,如果基本数据类型的设计依赖于具体实现,也将给程序移植带来很大的麻烦。例如,在Windows 3.1中整数(int)类型占用2个字节,而在Windows 95中占用4个字节,在DEC Alpha中占用8个字节。为了解决这类问题,Java设计了一套独立于任何运行平台的基本数据类型及运算,不管在什么环境下运行,每一种数据类型的存储格式和操作方式均一样,从而大大提高了Java语言的可移植性。 8.解释执行 在运行Java程序时,需要先将Java源程序编译成字节码,然后再利用解释器将字节码解释成本地系统的机器指令。由于字节码与环境无关且类似于机器指令,因此,在不同的环境下,不需要重新对Java源程序进行编译,直接利用解释器进行解释执行即可。当然随着Java编译器和解释器的不断改进,其运行效率也正在逐步改善。 9.高性能 与BASIC语言不同,Java的解释器并不是对Java源程序代码直接解释,而是解释经编译后生成的字节码。字节码的设计经过优化很容易翻译成机器指令,因此执行速度要比BASIC语言快得多,但与C语言比较还是有些慢。这是因为每次执行都要花费时间解释一次。为了提高运行速度,Java语言还提供了一种即时编译JIT(just intime)的方式。该方法在加载Java字节码时,将其预处理成本地主机操作系统所能识别的机器指令。这样虽然会增加加载程序的时间,但一旦加载成功,以后运行的速度就会大大提高。另外一种改进Java程序运行速度的方法正在开发中,这就是设计一种专门用来运行字节码的微处理器,到那时,Java程序运行的速度一定不比C语言逊色。
《普通高等教育"十一五"国家级规划教材•21世纪大学本科计算机专业系列教材:面向对象程序设计(第2版)》内容丰富,理论联系实际,可读性强,既可以作为高等院校计算机专业及相关专业本科生学习面向对象程序设计的教材,也可供从事软件开发的工程师和自学读者学习参考。