Next:
Introduction
Up:
Notes on Object-Oriented Program
Previous:
Notes on Object-Oriented Program
From Scheme to Java
Introduction
What is an Object?
Java Mechanics
Notation and Syntax
Java Expressions
Precedence of Operations
Java Statements
The Structure of Java Programs
Static Members
Java Programs
A Sample Java Program
Variations on the Sample Program
Defining Static Methods
Capitalization and Commenting Conventions
Java Data Types
Primitive Types
Numeric Constants
Conversions Between Types
Object Types
Java Class Definitions
Defining Classes to Represent Compound Data
Constructors
Defining Instance Methods
Printing Objects
The Union and Composite Patterns
Member Hoisting
The Composite Pattern
The Composite Pattern
Defining Instance Methods for a Composite Class
Conditional Statements
Basic Program Design
The Design Recipe
Data Analysis and Design
Contract and Header
Examples
Template
Body
Test
An Extended Example: Lists
Type Predicates and Type Casts in Java
Maintaining Sample Test Data
A Sample Program
Inheritance and the Composite Pattern
Overriding
equals
Help Methods, Packages, and Visibility
Using Classes to Enforce Invariants
Interfaces
Multiple Inheritance
Implicit Polymorphism
Interface Types
The Command Pattern
Exercises:
Static Members of Classes
Singleton Pattern
Other Uses of Static Members
Loose Ends
Local variables
Casts and Static Type Checking
Exceptions as Errors
Name and Method Overloading
The Visitor Pattern
Interpreting Arithmetic Expressions
Openness in Data Design
Polymorphic Visitors
Polymorphic Visitors with Arguments
Unusual Situations versus Runtime Errors
A Motivating Example
Using Java Exceptions
Exception Handling
Corky Cartwright
1999-09-07