En programmation orientée objet, une propriété virtuelle est une propriété dont le comportement peut être remplacé au sein d'une classe héritante. Ce concept est une partie importante de la partie polymorphisme de la programmation orientée objet (POO).
regardez l'exemple ci-dessous :
public class BaseClass
{
public int Id { get; set; }
public virtual string Name { get; set; }
}
public class DerivedClass : BaseClass
{
public override string Name
{
get
{
return base.Name;
}
set
{
base.Name = "test";
}
}
}
au niveau de la présentation :
DerivedClass instance = new DerivedClass() { Id = 2, Name = "behnoud" };
Console.WriteLine(instance.Name);
Console.ReadKey();
la sortie sera "test" car la propriété "Name" a été remplacée dans la classe dérivée (sous-classe).