Le mot clé abstract sert à définir une méthode dans une classe qui sera obligatoirement implémentée dans une sous-classe (qui hérite de cette classe), sauf si cette classe est elle mème abstraite.
De plus, il est impossible d'instancier une classe abstraite.
Source / Exemple :
using System;
class ClassePrincipale : Object
{
public static void Main()
{
ClasseTest test=new ClasseTest();
test.Méthode2();
}
}
/*
- Une classe qui possède une méthode abstraite doit elle mème
- être déclarée abstraite.
- /
abstract class ClasseAbstraite
{
public void Méthode1()
{
}
public abstract void Méthode2();
/*
- Une sous-classe de "ClasseAbstraite" doit implémenter une
- méthode "Méthode2", sans arguments et sans valeur de retour.
- /
}
class ClasseTest : ClasseAbstraite
{
public override void Méthode2()
//override sert à indiquer une redéfinition de méthode.
{
Console.Out.WriteLine("Méthode2.");
}
}
Conclusion :
Si vous voulez qu'une sous classe implémente des méthodes sans d'autres membres(des variables,des constantes ...), utilisez les interfaces.