Définition
Une interface permet de déclarer le contenu de la classe qui l’implémente. C’est un contrat qui décrit le comportement de la classe qui implémente l’interface.
Si l’interface contient le nom d’une méthode, la classe qui l’implémente est obligée de contenir l’implémentation de cette méthode.
Déclaration de l’interface
interface IMonInterface { // membres de l’interface }
La déclaration peut être modifiée par une combinaison valide de modificateurs d’accès ou par le mot-clé new. Elle peut aussi être précédée par des attributs.
Les membres d’une interface peuvent être:
- Des Méthodes
- Des Propriétés
- Des Indexeurs
- Des Événements
Cependant, l’interface ne peut pas contenir de champs. Les membres de l’interface sont publics par défaut et on ne peut pas utiliser de modificateurs d’accès sur les membres.
Membres
Les membres d’une interface sont des signatures de méthodes, des propriétés, des indexeurs, ou des évènements. Par exemple:
interface ICompteur { void Compter(int i); int SetCompteur(); }
Implémentation de l’interface
L’interface peut être implémentée par une classe ou une structure comme le montre cet exemple :
class MaClasse:IMonInterface
{
// implémentation de la classe
}
Par cette déclaration, la classe MaClasse est tenue de mettre en oeuvre tous les membres de l’interface IMonInterface.
Une classe peut implémenter plus d’une interface:
class MaClasse: MaBaseClasse, IMonInterface1, IMonInterface2 { // implémentation de la classe }