Class UML 2.4.1::Interface
Description:
Since an interface specifies conformance characteristics, it does not own
detailed behavior specifications. Instead, interfaces may own a protocol
state machine that specifies event sequences and pre/post conditions for
the operations and receptions described by the interface.Interfaces may
include receptions (in addition to operations).An interface is a kind of
classifier that represents a declaration of a set of coherent public features
and obligations. An interface specifies a contract; any instance of a classifier
that realizes the interface must fulfill that contract. The obligations
that may be associated with an interface are in the form of various kinds
of constraints (such as pre- and post-conditions) or protocol specifications,
which may impose ordering restrictions on interactions through the interface.
Direct Superclasses: ClassifierDirect Subclasses: Class Precedence List: Interface,
Classifier,
Namespace,
Type,
PackageableElement,
ParameterableElement,
RedefinableElement,
NamedElement,
TemplateableElement,
ElementProperties:
nestedClassifier :
Classifier (0 *); -- source
Interface ownedAttribute :
Property (0 *); -- source
Interface ownedOperation :
Operation (0 *); -- source
Interface ownedReception :
Reception (0 *); -- source
Interface protocol :
ProtocolStateMachine (0 1); -- source
Interface redefinedInterface :
Interface (0 *); -- source
Interface attribute :
Property (0 *); -- source
Classifier collaborationUse :
CollaborationUse (0 *); -- source
Classifier feature :
Feature (0 *); -- source
ClassifierSpecifies each feature defined in the classifier. Note that there may be
members of the Classifier that are of the type Feature but are not included
in this association, e.g. inherited features.
{
readonly}
Derived union with sources: (attribute, ownedReception, ownedOperation, ownedAttribute)
Subsets: Namespace.member
Opposite: Feature.featuringClassifier
general :
Classifier (0 *); -- source
Classifier generalization :
Generalization (0 *); -- source
Classifier inheritedMember :
NamedElement (0 *); -- source
Classifier isAbstract : Boolean (1 1); -- source
Classifier isFinalSpecialization : Boolean (1 1); -- source
Classifier ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier ownedUseCase :
UseCase (0 *); -- source
Classifier powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier redefinedClassifier :
Classifier (0 *); -- source
Classifier representation :
CollaborationUse (0 1); -- source
Classifier substitution :
Substitution (0 *); -- source
Classifier templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier useCase :
UseCase (0 *); -- source
Classifier elementImport :
ElementImport (0 *); -- source
Namespace importedMember :
PackageableElement (0 *); -- source
Namespace member :
NamedElement (0 *); -- source
Namespace ownedMember :
NamedElement (0 *); -- source
Namespace ownedRule :
Constraint (0 *); -- source
Namespace packageImport :
PackageImport (0 *); -- source
Namespace package :
Package (0 1); -- source
Type visibility :
VisibilityKind (1 1); -- source
PackageableElement owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElementThe formal template parameter that owns this element.
Subsets: Element.owner, ParameterableElement.templateParameter
Opposite: TemplateParameter.ownedParameteredElement
isLeaf : Boolean (1 1); -- source
RedefinableElement redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement redefinitionContext :
Classifier (0 *); -- source
RedefinableElement clientDependency :
Dependency (0 *); -- source
NamedElement name : String (0 1); -- source
NamedElement nameExpression :
StringExpression (0 1); -- source
NamedElement namespace :
Namespace (0 1); -- source
NamedElement qualifiedName : String (0 1); -- source
NamedElement templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement ownedComment :
Comment (0 *); -- source
ElementThe Comments owned by this element.
{
composite}
Subsets: Element.ownedElement
ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementConstraints:
Signature: visibility() : Boolean;
Description: The visibility of all features owned by an interface must be public.
Expression: self.feature->forAll(f | f.visibility = #public)
Operations:
No additional operations.
Send questions or comments to
[email protected].