| inheritance/virt-more-simplified.cs - An illustration of virtual and new methods - More simplified. | Lecture 7 - slide 35 : 40 Program 4  | 
using System;
class A {
  public virtual void  N(){Console.WriteLine("N in A");}
  public void          P(){Console.WriteLine("P in A");}
}
class B: A{
  public override void N(){Console.WriteLine("N in B");}
  public new void      P(){Console.WriteLine("P in B");}
}
class Client {
  public static void Main(){
    A ab = new B();
    ab.N();         // The dynamic type controls. Prints: N in B
    ab.P();         // The static type controls.  Prints: P in A
  }
}