Partager via


Interfaces du système de type commun

Mise à jour : novembre 2007

Une interface définit un contrat qui spécifie une relation « peut faire » ou « a un ». Les interfaces permettent souvent d'implémenter des fonctionnalités, comme la comparaison et le tri (interfaces IComparable et IComparable<T>), le test pour l'égalité (interface IEquatable<T>) ou l'énumération d'éléments dans une collection (interfaces IEnumerable et IEnumerable<T>). Les interfaces peuvent avoir des propriétés, des méthodes et des événements qui sont tous des membres abstraits, c'est-à-dire que pendant que l'interface définit les membres et leurs signatures, elle laisse le type qui implémente l'interface définir la fonctionnalité de chaque membre d'interface. En d'autres termes, toute classe ou structure qui implémente une interface doit fournir des définitions pour les membres abstraits déclarés dans l'interface. Une interface peut imposer à une classe ou à une structure d'implémentation d'implémenter une ou plusieurs autres interfaces.

Les restrictions suivantes s'appliquent aux interfaces :

  • Une interface peut être déclarée avec n'importe quelle accessibilité, mais les membres d'interface doivent tous avoir une accessibilité publique.

  • Aucune autorisation de sécurité ne peut être attachée à des membres ou à l'interface proprement dite.

  • Les interfaces ne peuvent pas définir de constructeurs.

  • Les interfaces ne peuvent pas définir de champs.

  • Les propriétés, méthodes et événements abstraits définis dans une interface doivent tous être des membres d'instance, et non pas des membres statiques.

Chaque langage doit fournir des règles de mappage d'une implémentation à l'interface qui nécessite le membre, puisque plusieurs interfaces peuvent déclarer un membre avec la même signature et ces membres peuvent avoir des implémentations séparées.

Voir aussi

Concepts

Membres de type

Autorisations de sécurité

Autres ressources

Système de type commun