
| “本书正面阐释了‘对象’这一教学中最难的概念,它使学生得以从无到有地建立起对这些复杂概念的理解。” ——James Gosling,“Java之父” “本书提出了极有价值的讲授程序设计导论课程的新方法,我认为它是这门课程的最佳教材。” ——Michael Caspersen,奥尔胡斯大学(丹麦) “这是迄今为止我见过的教授程序设计导论课程最好的创新性方法。” ——Clemens Martin,安大略大学(加拿大) 这是一部极富创新性的面向对象技术$1Java教材。书中紧紧围绕Java语言教学中的重点和难点——“面向对象思想”进行组织,通过大量贴近实际的例子和编程练习,完整讲述了开发Java程序的全过程,深入阐述各种面向对象概念。在此过程中穿插讨论了大量现代软件工程实践(包括迭代开发、测试、调试、重构、设计模式等),讲述重要的Java语法,并涵盖了泛型、autobox等Java的新特性。 本书的另一大特点是紧密结合专门为教学开发的图形化开发环境BlueJ,使学生能够从一开始就在实际环境中直观地进行学习,得到实战熏陶。 本书已被翻译为德.法、荷、意、葡等多种文字,成为世界众多高校的教材。与本书配套的教学环境BlueJ是一种开源软件,可自由下载,自1999年首次发行以来,已被美国普度大学、华盛顿大学、加州大学洛杉矶分校、英国剑桥大学、新加坡南洋理工大学、澳大利亚莫纳什大学、我国香港大学等700多所大学用于编程课程的教学。 |
| David J.Barnes任教于英国肯特大学,有超过25年的程序设计教学经验,主要研究兴趣是程序设计、软件测试、计算机科学教学。 |
| Part 1 Foundations of object orientation Chapter 1 Objects and classes 1.1 Objects and classes 1.2 Creating objects 1.3 Calling methods 1.4 Parameters 1.5 Data types 1.6 Multiple instances 1.7 State 1.8 What is in an object? 1.9 Object interaction 1.10 Source code 1.11 Another example 1.12 Return values 1.13 Objects as parameters 1.14 Summary Chapter 2 Understanding class definitions 2.1 Ticket machines 2.1.1 Exploring the behavior of a naTve ticket machine 2.2 Examining a class definition 2.3 Fields, constructors, and methods 2.3.1 Fields 2.3.2 Constructors 2.4 Passing data via parameters 2.5 Assignment 2.6 Accessor methods 2.7 Mutator methods 2.8 Printing from methods 2.9 Summary of the naive ticket machine 2.10 Reflecting on the design of the ticket machine 2.11 Making choices: the conditional statement 2.12 A further conditional-statement example 2.13 Local variables 2.14 Fields, parameters, and local variables 2.15 Summary of the better ticket machine 2.16 Self-review exercises 2.17 Reviewing a familiar example 2.18 Summary Chapter 3 Object interaction 3.1 The clock example 3.2 Abstraction and modularization 3.3 Abstraction in software 3.4 Modularization in the clock example 3.5 Implementing the clock display 3.6 Class diagrams versus object diagrams 3.7 Primitive types and object types 3.8 The ClockDisplay source code 3.8.1 Class NumberDisplay 3.8.2 String concatenation 3.8.3 The modulo operator 3.8.4 Class ClockDisplay 3.9 Objects creating objects 3.10 Multiple constructors 3.11 Method calls 3.11.1 Internal method calls 3.11.2 External method calls 3.11.3 Summary of the clock display 3.12 Another example of object interaction 3.12.1 The mail system example 3.12.2 The this key word 3.13 Using a debugger 3.13.1 Setting breakpoints 3.13.2 Single stepping 3.13.3 Stepping into methods 3.14 Method calling revisited 3.15 Summary …… Part 2 Application structures Appendices Index |
商品评论(0条)