Define abstract class and abstract method : Abstract Class : Class C# Examples


C# Examples » Class » Abstract Class »

 

Define abstract class and abstract method









    
using  System;

abstract  class  Employee
{
        public  Employee(string  name,  float  billingRate)
        {
                this.name  =  name;
                this.billingRate  =  billingRate;
        }
        
        virtual  public  float  CalculateCharge(float  hours)
        {
                return(hours  *  billingRate);
        }
        
        abstract  public  string  TypeName();
        
        private  string  name;
        protected  float  billingRate;
}

class  Manager:  Employee
{
        public  Manager(string  name,  float  billingRate)  :  base(name,  billingRate)
        {
        }
        
        override  public  float  CalculateCharge(float  hours)
        {
                if  (hours  <  1.0F)
                hours  =  1.0F;                //  minimum  charge.
                return(hours  *  billingRate);
        }
        
        //  This  override  is  required,  or  an  error  is  generated.
        override  public  string  TypeName()
        {
                return("Manager");
        }
}

class  Clerk:  Employee
{
        public  Clerk(string  name,  float  billingRate)  :
        base(name,  billingRate)
        {
        }
        
        override  public  string  TypeName()
        {
                return("Clerk");
        }
}
class  Test
{
        public  static  void  Main()
        {
                Employee[]  earray  =  new  Employee[2];
                earray[0]  =  new  Manager("A",  40.0F);
                earray[1]  =  new  Clerk("C",  45.0F);
                
                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));
        }
}
    
   
  
   



Output

Manager charge = 80
Clerk charge = 33.75


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Class
» Abstract Class