Interface (dictionary item)
For automation interface information about an Interface, see
Class (automation interface). For automation interface purposes, an Interface is a Class object that has its Is Interface attribute set to TRUE.
An interface declares a set of public features and obligations that constitute a coherent service offered by a classifier.
An Interface can be assigned as a data type for an Attribute, Operation, Parameter or Type Definition.
You can create an Interface in the following ways:
• Through the context menu of a Package: right-click the Package, point to > > > .
• Through the context menu of a Class or Interface: right-click the item, and select > .
• Through a Class Diagram.
• By copying an existing Interface. Modeler copies the Interface's links, child items and child diagrams. For more information, see
Copying items.
When used on a Class Diagram, an Interface's notation is as follows.
When an Interface owns only Attributes, Operations or Receptions, the following notation is used.
If the Interface models a template class, its Formal Parameters are displayed in a box that overlaps the top right corner of the Interface.
If the Interface is a provided Interface or required Interface, the Interface can be shown on the as a lollipop (provided interface) or cup (required interface). For more information about Interfaces, see
Overview of interfaces.
When used on a Composite Structure Diagram , the following notation is used.
On a Composite Structure Diagram, Interfaces can be shown as frames through the Interface's View Options.
In the Modeler panes, a short-cut symbol
on the Interface's icon indicates that the item is a
stub.
On a Class Diagram the View Options for an Interface allow you to show or hide:
• Attribute Signatures and Operation Signatures.
For information about using a Signature to create a Return Type and Parameters for an Operation, and a Type and Default for an Attribute, click the following links:
When using in-place editing to change a signature on a Class Diagram, use the Ctrl+Enter keys to add a return and use the Enter keys to save the changes.
• Receptions
• Full Name
• Stereotypes
• Attributes and Operations of a Interface by access (although all Attributes and Operations must be public)
• Access Characters (although all Attributes and Operations must be public)
To help you work with Super Interfaces and Sub Interfaces, Modeler includes the Class View Browser. To open the Class View Browser for an Interface, right-click the Interface, and then click
Browse Class. For more information about the Class View Browser, see
Class view browser.
| The Items tab of an Interface's Property Pages allows you to create Attributes and Operations. |
The following sections provide information about how an Interface is used in the model. For more information about a property, item, model part or diagram, click it.
Properties
Owned by
Owns
Association —The Association is owned jointly by the Interface and the associated item. The access permissions you have to an Association are determined by the access permissions you have to the item at the start end of the Association.
Dependency —The Dependency is owned jointly by the Interface and the associated item. The access permissions you have to a Dependency are determined by the access permissions of the dependent item.
Generalization —The Generalization is owned jointly by the Interface and the associated Interface. The access permissions you have to a Generalization are determined by the access permissions you have to the sub Interface.
IO Flow —The IO Flow is owned jointly by the IO Flow's source item, target item and IO Item, all of which can be an Interface
Ternary Role —The Ternary Role is owned jointly by the Interface and the associated Ternary Association.
An Interface can own the following diagrams:
Defined in these parts of the model
Used in:
Shown on these diagrams
Can be linked to these dictionary items
In addition to the owning
Package or
Model, an Interface can be linked to the following items.
These items appear on the Concurrency Diagram. These items are linked with an Interface so that Operations of the Interface can be used to implement the item.
Can be used as a data type for these items
| When used as a data type, Modeler creates a special link between the Interface and the referencing item. You cannot navigate this link through the Links Editor. |