Object-Oriented Programming featuring Graphical Applications in Java

1. The Object Model. Object Model Concepts. The Object Model and Other Programming Models. 2. Procedural Abstraction. Abstract Operations and Procedures. Specifying Procedures. Exceptions. Procedural Decomposition. Recursion. Summary. 3. Data Abstraction. Abstract Data Types. Specifying and Implementing Data Abstractions. Encapsulation. Java Graphics: Some Background. Making Graphics. Summary. 4. Composition. Composition and Aggregation. Random-Value Generators. Composition of Many Parts. Representation Invariants. Interacting with Pictures. Summary. 5. Inheritance. The Uses of Inheritance. Inheritance for Extension. Inheritance for Specialization. Inheritance for Specification. Polymorphism. Figures and Painters. Summary. 6. Design Patterns. The Need for Design Patterns. The Iterator Design Pattern. The Template Method Design Pattern. The Composite Design Pattern. Classifying Design Patterns. Summary. 7. Object-Oriented Application Frameworks. Building GUI-Based Programs in Java using Frameworks. Java's Event Model. Components. Layout Managers. Components and Event Listeners. Triangulate: A Point-Set Triangulation Program. DrawPad: A Drawing Program. Summary. Appendix A: Reading and Parsing User Input. Appendix B: Our Graphics Program Framework. Appendix C: A Notational Summary of UML. Appendix D: Structure of the banana Package.