Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Most design, in programming or any other field, doesn’t start with a completely blank whiteboard. Even when presented with an entirely new problem (which is rare), a good designer will apply the principles of the field. You’ll do the same. They’re the most important tools in your toolbox.
We’ve already looked at one of them: the identification of object relationships that helps you decide how you represent them. In this section, we’ll examine the four basic principles of Object-Oriented Programming: inheritance, abstraction, encapsulation, and polymorphism. Let’s start by looking how the boys use these principles when they develop a new recipe: