As shown in the previous example a new keyword doesn’t guarantee that invoking of a method which is implemented in derived class will be possible, when reference is type of base class. To resolve this problem override keyword can be used.
C# code
class Program { static void Main(string[] args) { BaseClass bc = new DerivedClassTwo(); bc.DisplayMessage(); Console.ReadLine(); } } public class BaseClass { public virtual void DisplayMessage() { Console.WriteLine("Base class message"); } } public class DerivedClass : BaseClass { public override void DisplayMessage() { Console.WriteLine("Derived class message"); } } public class DerivedClassTwo : DerivedClass { public override void DisplayMessage() { Console.WriteLine("Derived class two message"); } }
C# result
Derived class two message
Advertisements