As specified in Object Class Description Format, object classes can have zero or more superior classes (although at the present time, the directory server supports at most one superior class). If an object class references a superior class, then all of the required and optional attributes associated with that superior class are also associated with the subordinate class.
The following restrictions exist for object class inheritance:
ABSTRACT object classes can inherit only from other abstract classes. They cannot be subordinate to structural or auxiliary classes.
STRUCTURAL object classes can inherit only from abstract classes or other structural classes. They cannot be subordinate to auxiliary object classes.
AUXILIARY object classes can inherit only from abstract classes or other auxiliary classes. They cannot be subordinate to structural object classes.
All STRUCTURAL object classes must ultimately inherit from the top abstract object class. The net effect of this is that every entry in the directory server must include the top object class and so must also include the objectClass attribute type, which is required by the top object class).