C# inheritance method overriding
<p>In the code below I have created a derived class <code>evolve</code> from the base class <code>mukul</code>. The display method has different implementations for the class mukul references and for class evolve references...</p>

<p>Then what is the purpose of the <code>override</code> and <code>virtual</code> keywords when I am able to use the method <code>display()</code> differently for base class <code>mukul</code> and derived class <code>evolve</code>...</p>

<pre><code>internal class Program
{
    private static void Main(string[] args)
    {
        mukul m = new mukul();
        evolve e = new evolve();

        m.college = "jec";
        e.college = "gsits";
        m.power = "superstrength";
        e.power = "lasereye";
        e.code = "seceret";
        string str = m.display();
        string str1 = e.display();
        Console.WriteLine("{0}-{1}", str, str1);
        Console.ReadLine();
    }
}

internal class mukul
{
    public string hobby { get; set; }
    public string college { get; set; }
    public string power { get; set; }

    public string display()
    {
        return power;
    }
}

internal class evolve : mukul
{
    public string code { get; set; }

    public string display()
    {
        return power;
    }
}
</code></pre>
