Jeśli klasa pochodna definiuje tę samą metodę, co zdefiniowana w jej klasie bazowej, w języku C# nazywa się to przesłonięciem metody. Służy do osiągnięcia polimorfizmu w czasie wykonywania. Umożliwia zapewnienie konkretnej implementacji metody, która jest już zapewniona przez jej klasę bazową.
Aby wykonać przesłanianie metody w C#, musisz użyć wirtualny słowo kluczowe z metodą klasy bazowej i nadpisanie słowo kluczowe z metodą klasy pochodnej.
Przykład przesłaniania metody C#
Zobaczmy prosty przykład przesłaniania metod w języku C#. W tym przykładzie nadpisujemy metodę eat() za pomocą słowa kluczowego 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(); } }
Wyjście:
Eating bread...