本书主要从软件工程的角度介绍面向对象和程序设计的基本概念,侧重于讲解面向对象程序设计原理,而不是Java语言细节。书中从面向对象的基础知识讲起,介绍了对象和类;然后深入到应用结构,讲解了继承、抽象技术、构建图形用户界面、错误处理;最后给出了一个完整的案例。书中使用两个工具实际运用所介绍的概念:Java编程语言以及Java编程环境BlueJ。全书按照项目驱动的方式来展开,讨论了大量的程序项目,并且提供了很多练习。
本书内容由浅入深,适合初学者快速入门,也适合高级程序员和专业人士学习参考,可作为计算机相关专业“面向对象程序设计”课程的教材。
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