Home > Store

Sams Teach Yourself Object Oriented Programming in 21 Days

Register your product to gain access to bonus material or receive a coupon.

Sams Teach Yourself Object Oriented Programming in 21 Days

eBook (Adobe DRM)

  • Sorry, this book is no longer in print.
  • About Adobe DRM eBooks
  • This eBook requires the free Adobe® Digital Editions software.

    Before downloading this DRM-encrypted PDF, be sure to:

    • Install the free Adobe Digital Editions software on your machine. Adobe Digital Editions only works on Macintosh and Windows, and requires the Adobe Flash Player. Please see the official system requirements.
    • Authorize your copy of Adobe Digital Editions using your Adobe ID (select AdobeID as the eBook vendor). If you don't already have an Adobe ID, you can create one here.
Not for Sale


  • Copyright 2002
  • Dimensions: 7-3/8" x 9-1/8"
  • Edition: 1st
  • eBook (Adobe DRM)
  • ISBN-10: 0-7686-5806-3
  • ISBN-13: 978-0-7686-5806-4

Sams Teach Yourself Object Oriented Programming in 21 Days differs from other OOP books in two main ways. Many classic OOP books are designed for software engineers and teach at an academic level. Sams Teach Yourself Object Oriented Programming in 21 Days presents accessible, user-friendly lessons designed with the beginning programmer in mind. Other OOP books work to present both OOP and to teach a programming language (for example: Object-Oriented Programming in C++). Although Sams Teach Yourself Object Oriented Programming in 21 Days uses Java to present the examples, the book is designed to present concepts that apply to any OOP environment.

Sample Content

Table of Contents

(NOTE: Each chapter ends with a Summary, Q&A, and Workshop.)


About the Examples. What You Need to Know to Use This Book.

Section I: Defining OO.

Day 1. Introduction to Object Oriented Programming.

Object Oriented Programming in a Historical Context. Benefits and Goals of OO. Pitfalls. The Week Ahead.

Day 2. Encapsulation: Learn to Keep the Details to Yourself.

The Three Pillars of Object Oriented Programming. Encapsulation: The First Pillar. Abstraction: Learning to Think and Program Abstractly. Keeping Your Secrets Through Implementation Hiding. Division of Responsibility: Minding Your Own Business. Encapsulation Tips and Pitfalls. Caveats.

Day 3. Encapsulation: Time to Write Some Code.

Lab 1: Setting Up the Java Environment. Lab 2: Class Basics. Lab 3: Encapsulation Roundup. Lab 4: Case Study-The Java Primitive Wrappers (Optional).

Day 4. Inheritance: Getting Something for Nothing.

What Is Inheritance? Why Inheritance? <192>Is-A<192> Versus <192>Has-A<192>: Learning When to Use Inheritance. Learning to Navigate Inheritance's Tangled Web. Types of Inheritance. Inheritance for Implementation. Tips to Effective Inheritance. How Inheritance Fulfills the Goals of OO.

Day 5. Inheritance: Time to Write Code.

Lab 1: Simple Inheritance. Lab 2: Using Abstract Classes for Planned Inheritance. Lab 3: Bank Account—Practicing Simple Inheritance. Lab 4: Case Study—<192>Is-A,<192> <192>Has-A<192>, and the java.util.Stack.

Day 6. Polymorphism: Learning to Predict the Future.

Polymorphism. Inclusion Polymorphism. Parametric Polymorphism. Overriding. Overloading. Effective Polymorphism. Polymorphic Pitfalls. Caveats. Ho Polymorphism Fullfills the Goals of OO.

Day 7. Polymorphism: Time to Write Some Code.

Lab 1: Applying Polymorphism. Lab 2: Bank Account—Applying Polymorphism to a Familiar Example. Lab 3: Bank Account—Using Polymorphism to Write Future-Proof Code. Lab 4: Case Study—The Java Switch and Polymorphism.

Section II: Learning to Apply OOP.

Day 8. Introduction to the UML

Introduction to the Unified Modeling Language. Modeling Your Classes. Modeling a Class Relationship. Putting It All Together.

Day 9. Introduction to Object Oriented Analysis.

The Software Development Process. Object Oriented Analysis (OOA). So Now What?

Day 10.Introduction to Object Oriented Design (OOD).

Object Oriented Design (OOD). How Do You Apply OOD?

Day 11. Reusing Designs Through Design Patterns.

Design Reuse. Design Patterns. Pattern Realities. Patterns by Example. Making a Pattern Yours. Answers to Quiz. Answers to Exercises.

Day 12. Advanced Design Patterns.

More Patterns by Example. Pattern Pitfalls. Answers to Quiz. Answers to Exercises.

Day 13. OO and User Interface Programming.

OOP and the User Interface. The Importance of Decoupled UIs. How to Decouple the UI Using the Model View Controller Pattern. Problems with the Model View Controller.

Day 14. Building Reliable Software Through Testing.

Testing OO Software. Testing and the Iterative Software Development Process. Forms of Testing. A Guide to Writing Reliable Code.

Section III: Putting it all together: A Complete OO Project.

Day 15. Learning to Combine Theory and Process.

Blackjack. Initial Blackjack Analysis. Planning the Iterations. Iteration 1: Basic Game Play.

Day 16. Blackjack Iteration 2: Adding Rules.

Blackjack Rules.

Day 17. Blackjack Iteration 3: Adding Betting.

Blackjack Betting.

Day 18. Blackjack Iteration 4: Adding a GUI.

Blackjack Presentation. Command Line Tweaks. Blackjack Analysis.

Day 19. Applying an Alternative to MVC.

An Alternative Blackjack GUI. Analyzing the PAC Blackjack GUI. Designing the PAC Blackjack GUI.

Day 20. Having Some Fun with Blackjack.

Having Fun with Polymorphism. OOP and Simulations.

Day 21. The Final Mile.

Tying Up the Loose Ends.


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership