Composition

Composition, on the other hand, is useful when the new software component has some relationship to the old, but does not have the is-a relationship. Most generally, the old thing can be viewed as a portion or a component in the new.

Composition still permits us to leverage the development of the new component, using the functionality provided by the old thing.

The rule of thumb, if the sentence new thing has-a old thing sounds right, use composition.

[audio] [real] Text to accompany slide6, in Chapter 9 of An Introduction to Object-Oriented Programming