An object class can be defined in terms of another object class. It can be derived from another class, inheriting the same characteristics and behaviors of the other class, yet having characteristics and behaviors of its own. The class that it is derived from is called its parent class; the class itself is referred to as a subclass of its parent class.
The inheritance relationship between objects is hierarchical. An object that is lower in the inheritance hierarchy than another object has all of the characteristics of the object or objects above it and can have new characteristics of its own.
Other object relationships also can be hierarchical. For example, objects can be arranged in a containment hierarchy that illustrates which objects can contain which other objects.