Si la classe derivada defineix el mateix mètode que es defineix a la seva classe base, es coneix com a substitució del mètode en C#. S'utilitza per aconseguir polimorfisme en temps d'execució. Us permet proporcionar una implementació específica del mètode que ja proporciona la seva classe base.
interfície vs classe abstracta
Per substituir el mètode en C#, heu d'utilitzar virtual paraula clau amb mètode de classe base i anul·lar paraula clau amb mètode de classe derivat.
Exemple de substitució del mètode C#
Vegem un exemple senzill de substitució de mètodes en C#. En aquest exemple, estem anul·lant el mètode eat() amb l'ajuda de la paraula clau override.
using System; public class Animal{ public virtual void eat(){ Console.WriteLine('Eating...'); } } public class Dog: Animal { public override void eat() { Console.WriteLine('Eating bread...'); } } public class TestOverriding { public static void Main() { Dog d = new Dog(); d.eat(); } }
Sortida:
cadena en c++
Eating bread...