Class design: Using inheritance

Its usefulness is greatly exaggerated. As a general design rule of thumb: If there's any question about whether inheritance is appropriate, it's not.

It should be used only for is-a relationships, never for has-a relationships.

How should we use inheritance in the following example?

(next)