Table of Contents
(Most chapters contain "Chapter Summary", "Study Questions", and
"Exercises".)
I: UNDERSTANDING THE OBJECT- ORIENTED WORLDVIEW.
1. Object-Oriented Thinking.
A Way of Viewing the World.Computation as Simulation.Chapter
Summary.Further Reading.Study Questions.Exercises.
2. A Brief
History of Object-Oriented Programming.
The History of Java.Client-Side Computing.Security Issues.The White
Paper Description.Chapter Summary.Study Questions.Exercises.
3.
Object-Oriented Design.
Responsibility Implies Noninterference.Programming in the Small and
in the Large.Why Begin with Behavior?A Case Study in RDD.CRC
Cards-Recording Responsibility.Components and Behavior.Software
Components.Behavior and State.Formalizing the Interface.Designing
the Representation.Implementing Components.Integration of
Components.Maintenance and Evolution.Chapter Summary.Study
Questions.Exercises.
II: UNDERSTANDING PARADIGMS.
4. A Paradigm.
Program Structure.The Connection to the Java World.Types.Access
Modifiers.Lifetime Modifiers.Chapter Summary.Cross References.Study
Questions.Exercises.
5. Ball Worlds.
Data Fields.Constructors.Inheritance.The Java Graphics Model.The
Class Ball.Multiple Objects of the Same Class.Chapter Summary.Cross
References.Study Questions.Exercises.
6. A Cannon Game.
The Simple Cannon Game.Adding User Interaction.Chapter
Summary.Cross References.Study Questions.Exercises.
7. Pinball
Game Construction Kit.
First Version of Game.Adding Targets: Inheritance and
Interfaces.Pinball Game Construction Kit: Mouse Events
Reconsidered.Chapter Summary.Cross References.Study
Questions.Exercises.
III: UNDERSTANDING INHERITANCE.
8. Understanding Inheritance.
An Intuitive Description of Inheritance.The Base Class
Object.Subclass, Subtype, and Substitutability.Forms of
Inheritance.Modifiers and Inheritance.Programming as a Multiperson
Activity.The Benefits of Inheritance.The Costs of
Inheritance.Chapter Summary.Study Questions.Exercises.
9. A Case
Study: Solitaire.
The Class Card.The Game.Card Piles--Inheritance in Action.The
Application Class.Playing the Polymorphic Game.Buildings More
Complete Game.Chapter Summary.Study Questions.Exercises.
10.
Mechanisms for Software Reuse.
Substitutability.Composition and Inheritance Described.Composition
and Inheritance Contrasted.Combining Inheritance and
Composition.Novel Forms of Software Reuse.Chapter Summary.Study
Questions.Exercises.
11. Implications of Inheritance.
The Polyrmorphic Variable.Memory Layout.Assignment.Equality
Test.Garbage Collection.Chapter Summary.Study Questions.Exercises.
IV: UNDERSTANDING POLYMORPHISM.
12. Polymorphism.
Varieties of Polymorphism.Polymorphic
Variables.Overloading.Overriding.Abstract Methods.Pure
Polymorphism.Efficiency and Polymorphism.Chapter Summary.Further
Reading.Study Questions.Exercises.
13. The AWT.
The AWT Class Hierarchy.The Layout Manager.Layout Manager
Types.User Interface Components.Panels.ScrollPane.Case Study: A
Color Display.Dialogs.'Me Menu Bar.Chapter Summary.Study
Questions.Exercises.
14. Input and Output Streams.
Input Streams.Output Streams.Piped Input and Output.Chapter
Summary.Study Questions.Exercises.
15. Design Patterns.
Adapter.Composition.Strategy.Observer.Flyweight.Abstrac
Factory.Factory Method.Iterator.Decorator (Filter or
Wrapper).Proxy.Bridge.Chapter Summary.Further Reading.Study
Questions.Exercises.
V: UNDERSTANDING THE JAVA WORLD.
16. Exception Handling.Information Transmitted to the Catch
Block.Catching Multiple Errors.Termination or Resumptive
Models.Exceptions Thrown in the Standard Library.Throwing
Exceptions.Passing On Exceptions.Chapter Summary.Study
Questions.
17. Utility Classes.
Point.Dimension.Date.Math.Random.Toolkit.System.Strings and Related
Classes.Chapter Summary.Study Questions.
18. Understanding
Graphics.
Color.Rectangles.Fonts.Images.Animation.Graphics Contexts.A Simple
Painting Program.Chapter Summary.Study Questions.Exercises.
19.
Collection Classes.
Element Types and Primitive Value Wrappers.Enumerators.The
Array.The Vector Collection.The Stack Collection.The BitSet
Collection.The Dictionary interface and the Hashtable
Collection.Why Are There No Ordered Collections?Building Your Own
Containers.Chapter Summary.Study Questions.Exercises.
20.
Multiple Threads of Execution.
Creating Threads.Case Study: A Tetris Game.Chapter Summary.Cross
References.Study Questions.Exercises.
21. Applets and Web
Programming.
Applets and HTML.Security Issues.Applets and Applications.Obtaining
Resources Using an Applet.Combining Applications and
Applets.Chapter Summary.
22. Network Programming.
23. Java 2.
Appendices.
Java Operators.Java Escape Characters.Packages of the Java API.Java
Syntax Examples. 0201612739T04062001
About the Author
Timothy A. Budd is an Associate Professor of Computer
Science at Oregon State University. Budd received his
Bachelor of Arts degree in Mathematics and Computer Science from
Western Washington University, and his masters and doctorate
degrees in computer science from Yale University. His research
interests include multi-paradigm programming languages, programming
environments, compiler implementation and optimization
techniques.
0201612739AB04062001