面向对象程序设计导论[按需印刷]
基本信息
- 作者: (美)C.Thomas Wu
- 译者: 侯国峰等
- 丛书名: 国外计算机科学教材系列
- 出版社:电子工业出版社
- ISBN:750536930X
- 上架时间:2001-10-9
- 出版日期:2001 年8月
- 页码:651
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > 综合
编辑推荐
本书通过大量与现实世界程序设计有关的实例全面而详尽地讲解了面向对象的程序设计思想和设计方法。java作为一种面向对象的程序设计语言,在本书中仅仅是作为讲授的工具。本书作为面向对象的程序设计的入门教科书,用于一个学期的课程。已经具有其他传统面向过程程序设计语言经验的开发人员也可以使用本书作为面向对象的程序设计、图形用户界面以及事件驱动程序设计的入门。本书可供大专院校计算机专业的本科生使用。
内容简介回到顶部↑
本书通过大量与现实世界程序设计有关实例全面而详尽地讲解了面向对象的程序设计思想和设计方法.Java作为一种面向对象的程序设计语言,在本书中仅仅是作为讲授的工具.本书作为面向对象的程序设计的入门教科书,用于一个学期的课程,已经具有其他传统面向过程程序设计语言经验的开发人员也可以用本书作为面向对象的程序设计,图形用户界面以及事件驱动程序设计的入门.本书可供大专院校计算机专业的本科生使用.
目录回到顶部↑
第0章 计算机和程序设计语言初步
0.1 计算机发展历史
0.2 计算机体系结构
0.3 程序设计语言
0.4 java
习题
第1章 面向对象的程序设计与软件开发初步1
1.1 类和对象
1.2 消息和方法
1.3 类和实例数据值
1.4 继承
1.5 软件工程和软件生命周期
1.6 用java玩得开心
习题
第2章 java程序设计基础
2.1 第1个java应用程序
2.2 程序组成部分
2.3 编辑——编译——运行的循环
2.4 javabook包
2.5 示例程序:显示消息
0.1 计算机发展历史
0.2 计算机体系结构
0.3 程序设计语言
0.4 java
习题
第1章 面向对象的程序设计与软件开发初步1
1.1 类和对象
1.2 消息和方法
1.3 类和实例数据值
1.4 继承
1.5 软件工程和软件生命周期
1.6 用java玩得开心
习题
第2章 java程序设计基础
2.1 第1个java应用程序
2.2 程序组成部分
2.3 编辑——编译——运行的循环
2.4 javabook包
2.5 示例程序:显示消息
前言回到顶部↑
这是本书的第2版,在第2版中我们做出了许多改进,但主要目标不变。希望本书作为面向对象的程序设计的入门教科书,用于一个学期的CS1课程,而且假设学生以前没有程序设计经验。那些已经具有诸如C、BASIC以及其他传统的面向过程的程序设计语言经验的人也可以使用本书作为面向对象的程序设计、图形用户界面以及事件驱动的程序设计的入门。本书的两个主要目标是讲述:
· 面向对象的程序设计。
· 现实世界程序设计的基础。
面向对象已经成为所有计算机科学领域中的一种重要模式,从第1个程序设计课程就开始讲授面向对象的程序设计是非常重要的,讲授面向对象的程序设计多于讲授面向对象的程序设计语言的语法和语义。掌握了面向对象的程序设计,意味着精通面向对象的概念并能够将其有效地、系统地应用于程序开发过程中。
本书的第2个目标是使学生习惯于现实世界的程序设计,知道面向对象的概念是不够的,学生们必须能够运用这些知识开发现实世界的程序。大多数入门教科书中的示例程序过于简单,学生们在其他教科书中很少遇见定义超过3个类的示例程序。但是在现实世界的应用项目中,程序员必须使用库中的许多类,还必须定义其自己的多个类。在本书中,我们教学生如何使用类库中的类和如何定义其自己的类。例如,第15章的示例程序定义了10个类并使用了现有类库中大量的类。
第2版的新特点
我们愿意借此机会感谢第1版的使用者,我们特别感谢使用者和他们的学生提出的大量建议和鼓励。至于第2版,我们集中改进了第1版中的不足并尽可能多地采纳建议。因为无法把全部建议都编写到本书中,因此我们设法通过将资料放到我们的站点上以满足各种各样的需求。请访问站点有关辅助资料方面更详细的内容。
进入本书正题之前,我们首先简要强调第2版带来了哪些新特点:
1. 使用Javadoc注释。除了前面的几章以外,所有示例代码和程序都以标准化的javadoc的风格文档化。修订的javabook类也使用javadoc注释完全文档化,由javadoc注释生成的javabook类的HTML文档文件可以从我们的站点访问到。
2. 双色页面。对于第1版中的插图,我们得到了许多称赞。我们进一步改善了这些插图,把用丰富的资料和视觉上吸引人的图解与插图说明问题的风格描述为形象化教学,我们相信形象化教学是讲授初步程序设计最合适的方法。
3. 新的和改进的javabook类。Javabook包增加两个新类:Clock和SimpleInput。Clock类提供基本的时钟函数,诸如读取当前时间、今天的日期和提供秒表函数。利用秒表函数,程序员可以很容易地记录程序的运行时间。例如,这些秒表函数可以很方便地比较不同排序算法的运行时间。第2个新类,即SimpleInput,提供不基于GUI的输入例行程序。许多使用者要求用于非GUI环境的InputBox的功能性。我们增加这个类以满足他们的要求。除了这两个新类以外,我们还对现有的类做了许多较小的改进。
4. 基于Swing的javabook类。随着Java 2平台中的Swing类的出现,javabook包的实现基于Swing版本。使用Swing类的直接好处包括简化若干javabook类和诸如将一个图标放到MessageBox对象上的新功能的实现,有关基于Swing的javabook类的信息可以在我们的站点上找到。使用最初的javabook类,还是使用基于Swing的javabook类取决于教师在课程中涉及的Swing类的范围,即使课程中不包括Swing类。如果教师不打算讲授javabook包的内部处理,也可以使用基于Swing的javabook类。
5. 补充的课题。尽管我们认为详细的集合类的范围属于CS2卷,但是我们还是收到使用者要求包括Vector方面的讨论。我们同意他们的观点,为CS1学生介绍使用方便和功能强大的Vector类是可取的,Vector类在第9章中描述。第2版中包括的另外一个新课题是堆排序,将排序算法从原来的第15章移动到新的第10章以后,我们增加了堆排序,用一个非递归的Nlog2N算法加强这一章的内容,堆排序作为巧妙使用数组排序堆节点的一个主要例子。
6. 改进的辅助资料。我们改进了现有的辅助资料并增加了许多新的辅助资料,从我们的站点可以得到有关的详细信息。
主要特点
本书有许多教学法方面的特点,在面向对象的程序设计方面的入门教科书之中,本书是独特的。下面我们说明本书的主要特点:
特点1 java
我们为本书选择了Java,与C++不同,Java是一个纯粹的面向对象的语言,是讲授面向对象的程序设计的理想语言。因为Java是合乎逻辑的并且易于编程的,所以使其成为最易于编程的面向对象的语言,Java没有任何可能成为初学者学习面向对象概念的障碍。尽管我们使用了Java,然而必须强调本书不是关于Java程序设计的。由于本书是有关面向对象的程序设计的,因此没有涉及Java的各个方面。然而我们确实论及了足够的Java语言特点,以使学生可以胜任Java程序员。
特点2 javabook包
我们提供了一个称为“javabook”的类库(Java术语中的“包”),包括本书从头到尾使用的许多类。1993年我们在《Journal of Object-Oriented Programming》中(第6卷第1部分,第6卷第4部分和第6卷第5部分)撰写了一系列关于如何讲授面向对象的程序设计的文章。在这个系列中,我们描述的教学法概念的核心是在成为一名对象设计者之前,必须首先成为一名对象用户。换句话说,在能够有效地设计某人自己的类之前,一个程序员必须首先学会如何使用预先定义的类,javabook的使用正是基于这个原则。
· 面向对象的程序设计。
· 现实世界程序设计的基础。
面向对象已经成为所有计算机科学领域中的一种重要模式,从第1个程序设计课程就开始讲授面向对象的程序设计是非常重要的,讲授面向对象的程序设计多于讲授面向对象的程序设计语言的语法和语义。掌握了面向对象的程序设计,意味着精通面向对象的概念并能够将其有效地、系统地应用于程序开发过程中。
本书的第2个目标是使学生习惯于现实世界的程序设计,知道面向对象的概念是不够的,学生们必须能够运用这些知识开发现实世界的程序。大多数入门教科书中的示例程序过于简单,学生们在其他教科书中很少遇见定义超过3个类的示例程序。但是在现实世界的应用项目中,程序员必须使用库中的许多类,还必须定义其自己的多个类。在本书中,我们教学生如何使用类库中的类和如何定义其自己的类。例如,第15章的示例程序定义了10个类并使用了现有类库中大量的类。
第2版的新特点
我们愿意借此机会感谢第1版的使用者,我们特别感谢使用者和他们的学生提出的大量建议和鼓励。至于第2版,我们集中改进了第1版中的不足并尽可能多地采纳建议。因为无法把全部建议都编写到本书中,因此我们设法通过将资料放到我们的站点上以满足各种各样的需求。请访问站点有关辅助资料方面更详细的内容。
进入本书正题之前,我们首先简要强调第2版带来了哪些新特点:
1. 使用Javadoc注释。除了前面的几章以外,所有示例代码和程序都以标准化的javadoc的风格文档化。修订的javabook类也使用javadoc注释完全文档化,由javadoc注释生成的javabook类的HTML文档文件可以从我们的站点访问到。
2. 双色页面。对于第1版中的插图,我们得到了许多称赞。我们进一步改善了这些插图,把用丰富的资料和视觉上吸引人的图解与插图说明问题的风格描述为形象化教学,我们相信形象化教学是讲授初步程序设计最合适的方法。
3. 新的和改进的javabook类。Javabook包增加两个新类:Clock和SimpleInput。Clock类提供基本的时钟函数,诸如读取当前时间、今天的日期和提供秒表函数。利用秒表函数,程序员可以很容易地记录程序的运行时间。例如,这些秒表函数可以很方便地比较不同排序算法的运行时间。第2个新类,即SimpleInput,提供不基于GUI的输入例行程序。许多使用者要求用于非GUI环境的InputBox的功能性。我们增加这个类以满足他们的要求。除了这两个新类以外,我们还对现有的类做了许多较小的改进。
4. 基于Swing的javabook类。随着Java 2平台中的Swing类的出现,javabook包的实现基于Swing版本。使用Swing类的直接好处包括简化若干javabook类和诸如将一个图标放到MessageBox对象上的新功能的实现,有关基于Swing的javabook类的信息可以在我们的站点上找到。使用最初的javabook类,还是使用基于Swing的javabook类取决于教师在课程中涉及的Swing类的范围,即使课程中不包括Swing类。如果教师不打算讲授javabook包的内部处理,也可以使用基于Swing的javabook类。
5. 补充的课题。尽管我们认为详细的集合类的范围属于CS2卷,但是我们还是收到使用者要求包括Vector方面的讨论。我们同意他们的观点,为CS1学生介绍使用方便和功能强大的Vector类是可取的,Vector类在第9章中描述。第2版中包括的另外一个新课题是堆排序,将排序算法从原来的第15章移动到新的第10章以后,我们增加了堆排序,用一个非递归的Nlog2N算法加强这一章的内容,堆排序作为巧妙使用数组排序堆节点的一个主要例子。
6. 改进的辅助资料。我们改进了现有的辅助资料并增加了许多新的辅助资料,从我们的站点可以得到有关的详细信息。
主要特点
本书有许多教学法方面的特点,在面向对象的程序设计方面的入门教科书之中,本书是独特的。下面我们说明本书的主要特点:
特点1 java
我们为本书选择了Java,与C++不同,Java是一个纯粹的面向对象的语言,是讲授面向对象的程序设计的理想语言。因为Java是合乎逻辑的并且易于编程的,所以使其成为最易于编程的面向对象的语言,Java没有任何可能成为初学者学习面向对象概念的障碍。尽管我们使用了Java,然而必须强调本书不是关于Java程序设计的。由于本书是有关面向对象的程序设计的,因此没有涉及Java的各个方面。然而我们确实论及了足够的Java语言特点,以使学生可以胜任Java程序员。
特点2 javabook包
我们提供了一个称为“javabook”的类库(Java术语中的“包”),包括本书从头到尾使用的许多类。1993年我们在《Journal of Object-Oriented Programming》中(第6卷第1部分,第6卷第4部分和第6卷第5部分)撰写了一系列关于如何讲授面向对象的程序设计的文章。在这个系列中,我们描述的教学法概念的核心是在成为一名对象设计者之前,必须首先成为一名对象用户。换句话说,在能够有效地设计某人自己的类之前,一个程序员必须首先学会如何使用预先定义的类,javabook的使用正是基于这个原则。









加载中...

