Share via


Héritage (Guide de programmation C#)

Les classes peuvent hériter d'une autre classe. Cela s'effectue en mettant un signe deux-points après le nom de la classe lorsque vous déclarez la classe, et en nommant la classe d'héritage - la classe de base - après les deux-points, comme suit :

public class A
{
    public A() { }
}

public class B : A
{
    public B() { }
}

La nouvelle classe - la classe dérivée - gagne ensuite toutes les données non privées et le comportement de la classe de base en plus de toutes les autres données ou comportements qu'elle définit pour elle-même. La classe nouvelle possède ensuite deux types effectifs : le type de la nouvelle classe et le type de la classe dont elle hérite.

Dans l'exemple ci-dessus, la classe B est effectivement à la fois B et A. Lorsque vous accédez à un objet B, vous pouvez utiliser l'opération cast pour le convertir en un objet A. L'objet B n'est pas changé par la conversion, mais votre affichage de l'objet B se restreint aux données et aux comportements de A. Après avoir converti un B en A, ce A peut être reconverti en un B. Toutes les instances de A ne peuvent pas être converties en B - uniquement celles qui sont de véritables instances de B. Si vous accédez à la classe B en tant que type B, vous obtenez à la fois les données et les comportements de la classe A et de la classe B. La capacité d'un objet à représenter plusieurs types s'appelle le polymorphisme. Pour plus d'informations, consultez Polymorphisme (Guide de programmation C#). Pour plus d'informations sur la conversion cast, consultez Casting (Guide de programmation C#).

Les structs ne peuvent pas hériter d'autres structs ou classes. Les classes et les structs peuvent hériter d'une ou plusieurs interfaces. Pour plus d'informations, consultez Interfaces (Guide de programmation C#)

Dans cette section

Voir aussi

Référence

Objets, classes et structs (Guide de programmation C#)
class (Référence C#)
struct (Référence C#)

Concepts

Guide de programmation C#