Object classes types
Based on RFC 4512, object classes can be a combination of three different types:
- Abstract object classes
-
Used as the base object class from which structural or auxiliary classes inherit its properties.
This inheritance is a one-way relationship because abstract object classes cannot be derived from structural or auxiliary classes. The most common abstract object class is top
, which defines the highest level object class in a hierarchical chain of object classes.
- Structural object classes
-
Define the basic attributes in an entry and define where an entry can be placed in a directory information tree (DIT).
All entries in a DIT belong to one structural object class. Structural object classes can inherit properties from other structural object classes and from abstract object classes to form a chain of inherited classes. For example, the inetOrgPerson
structural object class inherits properties from the organizationalPerson
structural class, which inherits from another object class, person.
- Auxiliary object classes
-
Used together with structural object classes to define additional sets of attributes required in an entry.
The auxiliary object class cannot form an entry alone but must be present with a structural object class. Auxiliary object classes cannot derive from structural object classes or vice-versa. They can inherit properties from other auxiliary classes and from abstract classes.