Previous | UML Classes | Table of Contents | UML Packages | Next |
A feature declares a behavioral or structural characteristic of instances of classifiers.
•
RedefinableElement (from Kernel ) on page 132
A feature declares a behavioral or structural characteristic of instances of classifiers. Feature is an abstract metaclass.
• isStatic: Boolean Specifies whether this feature characterizes individual instances classified by the classifier (false) or the classifier itself (true). Default value is false.
• / featuringClassifier: Classifier [0..*] The Classifiers that have this Feature as a feature. This is a derived union.
No additional constraints
A feature represents some characteristic for its featuring classifiers; this characteristic may be of the classifier’s instances
considered individually (not static), or of the classifier itself (static). A Feature can be a feature of multiple classifiers.
The same feature cannot be static in one context but not another.
With regard to static features, two alternative semantics are recognized. A static feature may have different values for different
featuring classifiers, or the same value for all featuring classifiers.
In accord with this semantic variation point, inheritance of values for static features is permitted but not required by UML
2. Such inheritance is encouraged when modeling systems will be coded in languages, such as C++, Java, and C#, which stipulate
inheritance of values for static features.
No general notation. Subclasses define their specific notation.
Static features are underlined.
Only the names of static features are underlined.
An ellipsis (...) as the final element of a list of features indicates that additional features exist but are not shown in
that list.
The property isStatic in UML 2 serves in place of the metaattribute ownerScope of Feature in UML 1. The enumerated data type
ScopeKind with two values, instance and classifier, provided in UML 1 as the type for ownerScope is no longer needed because
isStatic is Boolean.