Synopses & Reviews
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.
Designed to introduce object-oriented programming concepts to the beginning programmer or to working programmers moving to Object-Oriented Programming (OOP).
The overriding purpose of this title is to make programmers marketable. The software industry will leave behind any developer who does not have object-oriented development skills, and this book helps the developer to quickly get up to speed with objects.
About the Author
has worked with Object-Oriented Technologies since 1995. In that time, Tony has been part of many object-oriented development efforts. Currently, he works for BroadVision where his main responsibility as team mentor, building the skills of less-experienced developers. He brings his years of experience and ability to teach to different projects in order to guarantee their success.
Tony Sintes has written for JavaWorld, Dr. Dobb's Journal, LinuxWorld, JavaOne Today, and Silicon Prairie, where he produced a highly-regarded monthly column on Object-Oriented Programming. Tony currently writes JavaWorld's monthly Q&A column.
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. 192>192>192>192>192>192>192>192>