Aller au contenu

virtual et override

Contexte : virtual permet à une méthode d’être surchargée dans une classe dérivée. override fournit une nouvelle implémentation.

public class Forme
{
public virtual double Aire() => 0;
}
public class Cercle : Forme
{
private double _rayon;
public Cercle(double r) => _rayon = r;
public override double Aire() => Math.PI * _rayon * _rayon;
}
Forme f = new Cercle(5);
Console.WriteLine(f.Aire()); // utilise Aire de Cercle