En modélisation UML, les interfaces sont des éléments de modèle qui définissent des ensembles d'opérations que d'autres éléments de modèle (les classes, par exemple) ou composants doivent implémenter. Un élément de modèle d'implémentation réalise une interface en substituant chacune des opérations déclarées par l'interface.
Vous pouvez utiliser les interfaces dans les diagrammes de classe et les diagrammes de composant pour spécifier un contrat entre l'interface et le discriminant qui la réalise. Chaque interface précise un ensemble bien défini d'opérations dotées d'une visibilité publique. Les signatures d'opération indiquent aux discriminants d'implémentation le type de comportement à appeler mais pas la manière de l'appeler. De nombreux discriminants peuvent implémenter une seule interface, chacun d'eux assurant une implémentation unique.
Les interfaces prennent en charge le masquage des informations et la protection du code du client en déclarant publiquement certains comportements ou services. Les classes ou composants qui réalisent les interfaces en implémentant ce comportement simplifient le développement des applications car les développeurs qui conçoivent le code du client doivent uniquement connaître les informations relatives aux interfaces et non les détails de l'implémentation. Si, dans votre modèle, vous remplacez des classes ou des composants qui implémentent des interfaces, vous n'avez pas besoin de concevoir à nouveau votre application si les nouveaux éléments de modèle implémentent les mêmes interfaces.
Vous pouvez spécifier les types d'interfaces suivants :
D'une manière générale, une interface porte un nom qui reflète le rôle qu'elle joue dans une application. Par convention, le nom de l'interface est précédé d'une barre oblique pour indiquer qu'un élément de modèle fait office d'interface.