Object Models
Organizing Objects: The Object Model
Providing Polymorphism by Implementing Interfaces