Simple Inheritance : Class hierarchy « Class « C# / CSharp Tutorial






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








7.20.Class hierarchy
7.20.1.A simple class hierarchy.
7.20.2.A multilevel hierarchy.
7.20.3.Demonstrate when constructors are called.
7.20.4.Simple Inheritance
7.20.5.Inherited Implementation