using System; class Employee { public Employee(string name, float billingRate) { this.name = name; this.billingRate = billingRate; } public float CalculateCharge(float hours) { return(hours * billingRate); } public string TypeName() { return("Employee"); } private string name; protected float billingRate; } class Manager: Employee { public Manager(string name, float billingRate) : base(name, billingRate) { } public new float CalculateCharge(float hours) { if (hours < 1.0F) hours = 1.0F; return(hours * billingRate); } public new string TypeName() { return("Civil Employee"); } } class Test { public static void Main() { Employee e = new Employee("A", 15.50F); Manager c = new Manager("B", 40F); Console.WriteLine("{0} charge = {1}", e.TypeName(), e.CalculateCharge(2F)); Console.WriteLine("{0} charge = {1}", c.TypeName(), c.CalculateCharge(0.75F)); } }
Employee charge = 31 Civil Employee charge = 40