Ha a származtatott osztály ugyanazt a metódust definiálja, mint az alaposztályában, akkor ezt metódusfelülírásnak nevezik a C#-ban. Futásidejű polimorfizmus elérésére használják. Lehetővé teszi a metódus specifikus megvalósítását, amelyet az alaposztály már biztosít.
A metódus felülbírálásához C#-ban kell használni virtuális kulcsszó az alaposztály metódusával és felülbírálni kulcsszó származtatott osztálymódszerrel.
Példa a C# módszer felülbírálására
Nézzünk egy egyszerű példát a metódus felülbírálására C#-ban. Ebben a példában felülbíráljuk az eat() metódust az override kulcsszó segítségével.
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(); } }
Kimenet:
Eating bread...