Up to this point, we have assumed that classes could have only one parent. Some languages, however, permit classes to be constructed from multiple parents. This situation is called multiple inheritance.
If you think of inheritance as a form of categorization, we we did in the first chapter, then often objects can be characterized in a number of ways that do not fit will into a hierarchical representation. I myself, for example, am a north american, a male, a professor, and a parent. None of these categories are proper subsets of each other, and thus none can be placed into an inheritance hierarchy.