A lot of similarities with OO programming languages, but some big differences, too.
An LDAP entry corresponds with an object.
Whereas object are usually instances of a single class, LDAP entries can "implement" multiple objectClasses.
objectClasses can inherit zero, one or many objectClasses, just like programming classes.
objectClasses have a root class, known as
top
; many object oriented programming
languages have a root class, e.g. named
Object
.
objectClasses are either STRUCTURAL
or AUXILIARY
; entries can only implement
one STRUCTURAL
objectClass.
The objectClasses of an entry can be changed at will;
you only need to take care that the entry has all the
MUST
attribute types, and no attribute
types outside of the ones that are MUST
or
MAY
.
Note that e.g. OpenLDAP doesn't implement this.
Attributes of an entry closely match attributes of objects in programming languages; however, LDAP attributes may have multiple values.