Classifiers

Figure 33 shows the Classifiers diagram from the UML specification. It defines the two abstract metaclasses RedefinableElement and Classifier, and the non-abstract metaclass Generalization.
RedefinableElement is the basis for all UML element types for which it will be possible for a UML element to replace another existing UML element in a particular context. The UML specification itself uses this feature in its own diagrams. Figure 28 shows an example of this. The PackageableElement::visibility attribute replaces the corresponding attribute from the NamedElement base class, as unlike NamedElement::visibility it has a default value.
Classifier is the basis for all UML element types for whose elements inheritance relationships can exist. These inheritance relationships are based on the Generalization metaclass.

Figure 34: Generalization relationship between two classes
Figure 34 shows this kind of generalization relationship between the two classes Key customer order and Order. This relationship itself is a UML element of the Generalization type. In line with the compositional property Classifier::general this element is part of the derived class Key customer order and its Generalization::general property refers to the base class Order.