Réserver une Démo
Pré. Proc.

Interface

Alternate notations for a UML Interface element using Sparx Systems Enterprise Architect.

Description

Une interface est une spécification de comportement (ou contrat) que les implémenteurs acceptent de respecter. En implémentant une interface, les classes sont assurées de support un comportement requis, ce qui permet au système de traiter les éléments non liés de la même manière, c'est-à-dire via l'interface commune. Vous pouvez également utiliser des interfaces dans un diagramme de structure composite.

Les interfaces sont dessinées de la même manière qu'une classe, avec des opérations spécifiées, comme illustré ici. Elles peuvent également être dessinées sous forme de cercle sans opérations explicites détaillées - cliquez-droit sur l'élément et sélectionnez l'option « Utiliser la notation circulaire » pour basculer entre les styles. Les connecteurs à une interface dessinée sous forme de cercle sont dessinés sous forme de ligne continue sans flèches cibles.

Une interface ne peut pas être instanciée (c'est-à-dire que vous ne pouvez pas créer un object à partir d'une interface). Vous devez créer une classe qui « implémente » la spécification de l'interface et placer dans le corps de la classe les opérations pour chacune des opérations de l'interface. Vous pouvez ensuite instancier la classe.

Icône de la boîte à outils

Interface element

Apprenez Plus

Spécification OMG UML :

La spécification Unified Modeling Language OMG (v2.5.1, p.171) stipule :

Une interface est un type de classificateur qui représente une déclaration d'un ensemble de Fonctionnalités et d'obligations publiques qui constituent ensemble un service cohérent. Une interface spécifie un contrat ; toute instance d'un classificateur qui réalise l'interface doit remplir ce contrat. Les obligations associées à une interface se présentent sous la forme de contraintes (telles que des conditions préalables et postérieures) ou de spécifications de protocole, qui peuvent imposer des restrictions d'ordre sur les interactions via l'interface. Les interfaces ne peuvent pas être instanciées. Au lieu de cela, une spécification d'interface est implémentée ou réalisée par un BehavioredClassifier, ce qui signifie que le BehavioredClassifier présente une façade publique conforme à la spécification d'interface.

REMARQUE. Un BehavioredClassifier donné peut implémenter plusieurs interfaces et une interface peut être implémentée par un certain nombre de BehavioredClassifiers différents. Les interfaces permettent de partitionner et de caractériser des groupes de Fonctionnalités publiques et d'obligations que les BehavioredClassifiers doivent posséder.

Une interface ne spécifie pas comment elle doit être implémentée, mais simplement ce qui doit être pris en charge par la réalisation de BehavioredClassifiers. Autrement dit, ces BehavioredClassifiers doivent fournir une façade publique composée d'attributs, d'opérations et de comportements observables de l'extérieur qui sont conformes à l'interface.