Sommaire

Interface

Une interface est un ensemble de déclarations de méthodes et est toujours liée à au moins une classe. Une interface ne représente pas un concept métier comme une classe, mais plutôt un contrat : la ou les classes auxquelles elle est associée doivent obligatoirement implémenter les méthodes contenues dans l’interface. On dit qu’une classe implémente une interface. Par exemple :

images/03RI06.png

La classe Bouton implémente l’interface ICliquable et possède donc une implémentation de la méthode cliquer() (qui n’est pas représentée dans le schéma pour l’alléger).

Il est assez courant de préfixer le nom des interfaces par la lettre I (un i majuscule). Cela permet de les différencier rapidement des classes.

Les interfaces offrent un niveau d’abstraction supplémentaire par rapport aux classes : au lieu de manipuler des concepts métier, il devient possible de manipuler des comportements. Peu importe quelle classe se cache derrière l’interface, la seule information importante est que la méthode que l’on souhaite utiliser existe et peut être appelée.

Imaginons la gestion du cliquer-déplacer dans un logiciel de dessin pour déplacer une entité. Il peut exister une multitude d’objets déplaçables (forme, légende, texte, zone de sélection...). Pour éviter d’avoir à gérer ...