Dacă clasa derivată definește aceeași metodă ca cea definită în clasa sa de bază, este cunoscută ca suprascriere a metodei în C#. Este folosit pentru a realiza polimorfismul de rulare. Vă permite să furnizați o implementare specifică a metodei care este deja furnizată de clasa sa de bază.
Pentru a efectua suprascrierea metodei în C#, trebuie să utilizați virtual cuvânt cheie cu metoda clasei de bază și trece peste cuvânt cheie cu metoda clasei derivate.
Exemplu de suprascriere a metodei C#
Să vedem un exemplu simplu de suprascriere a metodei în C#. În acest exemplu, suprascriem metoda eat() cu ajutorul cuvântului cheie 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(); } }
Ieșire:
Eating bread...