The goal of this book is to explore the principle ideas of object-oriented programming using the Java programming language. It begins teaching the object-oriented power of Java by relying on textual commands instead of emphasizing the AWT or Swing libraries, providing the reader with a simple, generic introduction to the OO concepts using Java (without the language details getting in the way of the concept presentation). The author provides a thorough introduction to the three fundamental concepts of object-oriented programming: Encapsulation, Inheritance, and Polymorphism. The presentation of OO theory is augmented by interleaved examples that illustrate these concepts. Most of these program examples are 2-D graphics programs that provide ...