Three-level Override methods : override « Class « C# / CSharp Tutorial






using System;

class BaseClass
{
   virtual public void Print(){ 
      Console.WriteLine("This is the base class."); 
   }
}

class DerivedClass : BaseClass
{
   override public void Print() { 
      Console.WriteLine("This is the derived class."); 
   }
}

class SecondDerived : DerivedClass
{
   override public void Print()
   {
      Console.WriteLine("This is the second derived class.");
   }
}

class MainClass
{
   static void Main()
   {
      SecondDerived derived = new SecondDerived();
      BaseClass mybc = (BaseClass)derived;
 
      derived.Print();
      mybc.Print();
   }
}
This is the second derived class.
This is the second derived class.








7.24.override
7.24.1.Virtual and override member function
7.24.2.Override without 'override' keyword
7.24.3.Three-level Override methods
7.24.4.new method: not override
7.24.5.Overridden Equals()
7.24.6.Overriding Virtual Methods
7.24.7.Resolving Ambiguity with the override Modifier
7.24.8.Resolving Ambiguity with the new Keyword
7.24.9.PrintValue() Added to the BaseClass Class