Classe abstraite
Une classe abstraite est une classe qui est uniquement destinée à être une classe de base d'autres classes. Le modificateur 'abstract' est utilisé pour rendre une classe abstraite. Un modificateur abstrait indique qu'il manque une implémentation dans la classe qui en découle. La classe abstraite peut avoir des membres abstraits et non abstraits. Une classe abstraite doit avoir au moins une méthode abstraite, sinon, il n'est pas utile de déclarer cette classe comme "abstraite".
Exemple de classe abstraite en C #:
1234567891011 | classe abstraite MyCircle classe abstraite publique int (); classe MyArea: MyCircle substitution publique int Area () retourne * côté; ..... |
Comme indiqué dans l'exemple ci-dessus, la méthode abstraite 'Area' de la classe MyCircle est remplacée par la classe dérivée MyArea..
Interface
Une interface ne contient que la déclaration de membres, y compris des méthodes, des propriétés, des événements ou des indexeurs. Il ne contient pas l'implémentation de ces membres. Une classe ou une structure implémente l'interface, doit fournir la définition des méthodes déclarées dans l'interface. Cela signifie qu'une interface fournit une structure standard que la classe dérivée doit suivre.
Exemple d'interface en C #:
12345678910111213141516171819202122 | using System.Collections.Generic; using System.Linq; using System.Text; namespace MyName interface publique MyData void getdata (); showdata vide (); Classe publique NameData: MyData public double getdata () nom de chaîne; Console.WriteLine ("Entrez le nom:"); name = Console.ReadLine (); public void showdata () Console.WriteLine ("Mon nom est:", nom); |
Comme le montre l'exemple ci-dessus, l'interface MyData a deux déclarations de méthode, getdata () et showdata (). La classe NameData qui implémente cette interface doit donner la définition des méthodes déclarées dans l'interface MyData.
Différence entre la classe abstraite et l'interface