Console.WriteLine("taskmsg --- bigclass");
public virtual void task()
Console.WriteLine("task --- bigclass");
public class smallclass : bigclass
public new void taskmsg()
Console.WriteLine("taskmsg ---- smallclass");
public void taskmsg(int a)
Console.WriteLine("taskmsg ---{0}-- smallclass",a);
public override void task()
Console.WriteLine("task ---- smallclass");
public void _basemethod()
public static void Main()
smallclass sc = new smallclass();
Console.WriteLine("-----calling parent class method from child class using base keyword-------------------------------------------------------------");
Console.WriteLine("-----parent class reference cannot access pure child class members (method hiding by new keyword)--------------------------------");
Console.WriteLine("-----but can access overridden methods as child requires permision from parent---------------------------------------------------");
Console.WriteLine("-----method hiding/ method overloading child class dont need pemission of parent class-------------------------------------------");
Console.WriteLine("-----method overloading has multiple methods with same name and different parameters || it has multiple behaviour----------------");
Console.WriteLine("-----method overriding has multiple methods with same name and same parametrs || in this there is change in behaviour------------");