Interfaces (C#)

Guide de référence du programmeur C# 
Interfaces (guide de programmation C#) 

Les interfaces sont définies à l'aide du mot clé interface. Par exemple :



C#
interface IComparable
{
    int CompareTo(object obj);
}

Les interfaces décrivent un groupe de comportements connexes qui peuvent appartenir à toute classe ou struct. Les interfaces peuvent être composées de méthodes, propriétés, événements, indexeurs ou toute combinaison de ces quatre types membre. Une interface peut ne pas contenir de champs. Les membres d'interface sont automatiquement publics.

Les classes et les structs peuvent hériter d'interfaces de la même manière que les classes peuvent hériter d'une classe de base ou d'un struct, à deux exceptions près :

  • Une classe ou struct peut hériter de plusieurs interfaces.

  • Lorsqu'une classe ou struct hérite d'une interface, elle hérite des définitions de membres mais pas des implémentations. Par exemple :



    C#
    public class Minivan : Car, IComparable
    {
        public int CompareTo(object obj)
        {
            //implementation of CompareTo
            return 0;  //if the Minivans are equal
        }
    }
    

Pour implémenter un membre d'interface, le membre correspondant sur la classe doit être public, non static et avoir le même nom et la même signature que le membre d'interface. Les propriétés et les indexeurs sur une classe peuvent définir des accesseurs supplémentaires pour une propriété ou l'indexeur défini sur une interface. Par exemple, une interface peut déclarer une propriété avec un accesseur get, mais la classe qui implémente l'interface peut déclarer la même propriété avec un accesseur get et un accesseur set. Toutefois, si la propriété ou l'indexeur utilise l'implémentation explicite, les accesseurs doivent correspondre.

Les interfaces et les membres d'interface sont abstraits ; les interfaces ne fournissent pas d'implémentation par défaut. Pour plus d'informations, consultez Classes et membres de classe abstract et sealed.

L'interface IComparable annonce à l'utilisateur de l'objet que ce dernier peut se comparer à d'autres objets du même type, et que l'utilisateur de l'interface n'a pas besoin de savoir comment cela est implémenté.

Les interfaces peuvent hériter d'autres interfaces. Il est possible pour une classe d'hériter plusieurs fois d'une interface, par l'intermédiaire de classes de base ou interfaces dont elle hérite. Dans ce cas, la classe peut uniquement implémenter l'interface une fois, si elle est déclarée comme faisant partie de la nouvelle classe. Si l'interface héritée n'est pas déclarée dans le cadre de la nouvelle classe, son implémentation est fournie par la classe de base qui l'a déclarée. Il est possible pour une classe de base d'implémenter des membres d'interface à l'aide de membres virtuels - dans ce cas, la classe qui hérite de l'interface peut modifier le comportement de l'interface en substituant les membres virtuels. Pour plus d'informations sur les membres virtuels, consultez Polymorphisme.

Vue d'ensemble des interfacesVue d'ensemble des interfaces

Une interface possède les propriétés suivantes :

  • Une interface est semblable à une classe de base abstraite : tout type non abstrait qui hérite de l'interface doit implémenter tous ses membres.

  • Une interface ne peut pas être instanciée directement.

  • Les interfaces peuvent contenir des événements, des indexeurs, des méthodes et des propriétés.

  • Les interfaces ne contiennent aucune implémentation de méthodes.

  • Les classes et structs peuvent hériter d'une ou plusieurs interfaces.

  • Une d'interface peut elle-même hériter de plusieurs interfaces.


Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/ms173156(VS.80).aspx

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-7164
Document créé le 08/11/06 03:36, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-ms173156(VS.80).html Document affiché 11 fois ce mois de Mai.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,98 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
La vraie faute est celle qu'on ne corrige pas.

Confucius
 
l'infobrol
Nous sommes le Jeudi 31 Mai 2012, 18:39, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)