Mega Code Archive

 
Categories / C# / Class Interface
 

A multilevel hierarchy

/* C#: The Complete Reference  by Herbert Schildt  Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ /*  In a multilevel hierarchy, the       first override of a virtual method      that is found while moving up the      heirarchy is the one executed. */     using System;      class Base {     // Create virtual method in the base class.      public virtual void who() {       Console.WriteLine("who() in Base");     }   }      class Derived1 : Base {     // Override who() in a derived class.     public override void who() {       Console.WriteLine("who() in Derived1");     }   }      class Derived2 : Derived1 {     // This class also does not override who().   }     class Derived3 : Derived2 {     // This class does not override who().   }     public class NoOverrideDemo2 {     public static void Main() {       Derived3 dOb = new Derived3();       Base baseRef; // a base-class reference          baseRef = dOb;        baseRef.who(); // calls Derived1's who()     }   }