Multilevel Hierarchy – Class Interface

/*
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()
  }
}
Share Article/Example:
  • Facebook
  • Twitter
  • del.icio.us
  • Digg
  • DotNetKicks
  • DZone