logo

Zastępowanie metody C#

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...