Maison > développement back-end > Tutoriel C#.Net > Comment fonctionnent les interfaces en C# ?

Comment fonctionnent les interfaces en C# ?

WBOY
Libérer: 2023-08-28 22:21:06
avant
604 Les gens l'ont consulté

C# 中的接口如何工作?

Une interface définit un contrat qui sera mis en œuvre par une classe ou une structure. Il peut contenir des méthodes, des propriétés, des événements et des indexeurs. Une interface est similaire à une classe, sauf qu'elle ne contient aucune donnée et spécifie uniquement le comportement qu'elle peut effectuer (ou, plus précisément, le comportement que peut effectuer la classe qui l'implémente).

Une classe peut implémenter un comportement ou plusieurs interfaces. Pour implémenter un membre d'interface, une classe doit avoir des membres publics avec la même définition de méthode que les membres de l'interface, c'est-à-dire le même nom et la même signature.

Par exemple, IComparer est une interface définie dans l'espace de noms System.Collections qui définit un contrat pour les méthodes permettant de comparer deux objets. La classe Car implémente l'interface IComparer

public interface IDriver{
   void Drive();
}
public class Car : IDriver{
   public string Name { get; set; }

   public int Speed { get; set; }
   public void Drive(){
      Console.WriteLine($"{Name}: {Speed}");
   }
}
Copier après la connexion

Tous les membres de l'interface sont implicitement abstraits et n'ont aucun détail d'implémentation. Tous les membres de l'interface sont publics. Les modificateurs d'accès ne peuvent pas être utilisés avec les membres de l'interface. Une classe qui implémente une interface doit fournir des méthodes publiques qui implémentent l'interface.

Les interfaces peuvent étendre d'autres interfaces, par exemple -

public interface IPerformer { void Perform(); }
public interface ISinger : IPerformer{
   void Sing();
}
Copier après la connexion

Les interfaces vous permettent d'inclure des comportements provenant de plusieurs sources dans une seule classe. Étant donné que C# n'autorise pas l'héritage multiple comme C++, les interfaces sont un moyen d'implémenter l'héritage multiple en C#.

Un inconvénient des interfaces est qu'elles sont moins flexibles que les classes lorsque vous les utilisez pour exposer une API. Lorsque vous modifiez le contrat d'une interface, toutes les classes qui implémentent l'interface sont interrompues et doivent être mises à jour pour implémenter l'interface.

Exemple

Démonstration en temps réel

using System;
class Program{
   static void Main(){
      var carOne = new Car { Name = "Honda", Speed = 100 };
      var carTwo = new Car { Name = "Toyota", Speed = 70 };
      carOne.Drive();
      carTwo.Drive();
   }
}
public interface IDriver{
   void Drive();
}
public class Car : IDriver{
   public string Name { get; set; }
   public int Speed { get; set; }
   public void Drive(){
      Console.WriteLine($"{Name}: {Speed}");
   }
}
Copier après la connexion

Sortie

Honda: 100
Toyota: 70
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal