Mega Code Archive

 
Categories / C# Tutorial / Class
 

Override virtual functions

using System; class Employee {     public Employee(string name, float billingRate)     {         this.name = name;         this.billingRate = billingRate;     }     // function now virtual     virtual public float CalculateCharge(float hours)     {         return(hours * billingRate);     }     // function now virtual     virtual public string TypeName()     {         return("Employee");     }          private string name;     protected float billingRate; } class Manager: Employee {     public Manager(string name, float billingRate) :     base(name, billingRate)     {     }     // overrides function in Employee     override public float CalculateCharge(float hours)     {         if (hours < 1.0F)         hours = 1.0F;        // minimum charge.         return(hours * billingRate);     }     // overrides function in Employee     override public string TypeName()     {         return("Civil Employee");     } } class Test {     public static void Main()     {         Employee[]    earray = new Employee[2];         earray[0] = new Employee("A", 15.50F);         earray[1] = new Manager("B", 40F);                  Console.WriteLine("{0} charge = {1}",         earray[0].TypeName(),         earray[0].CalculateCharge(2F));         Console.WriteLine("{0} charge = {1}",         earray[1].TypeName(),         earray[1].CalculateCharge(0.75F));     } } Employee charge = 31 Civil Employee charge = 40