using System; namespace ClassExamples { public class A { public virtual void F() { Console.WriteLine("Base"); } } public class B: A { public override void F() { base.F(); Console.WriteLine("Derived"); } } public class C { public static void Main(string[] args) { A a1 = new A(); a1.F(); //B b1 = new B(); b1.F(); //A a2 = new B(); a2.F(); } } }