ABSTRACT CLASS IN DETAIL
using System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
OverloadingConstructor
{
abstract class Employee
{
public static int tax;
public int EmpId;
public string EmployeeName;
public double SalaryPerDay;
static Employee()
{
tax = 200;
}
public
Employee()
{
}
public
Employee(int EmpId, string
EmployeeName, double SalaryPerDay)
{
this.EmpId
= EmpId;
this.EmployeeName
= EmployeeName;
this.SalaryPerDay
= SalaryPerDay;
}
public void Display()
{
Console.WriteLine("Employee ID:" + EmpId);
Console.WriteLine("EmployeeName:" + EmployeeName);
Console.WriteLine("SalaryPerDay:" + SalaryPerDay);
Console.WriteLine("tax:" + tax);
}
public abstract void CalculateSalary(int
NumberOfDays);
}
class LibraryManager : Employee
{
int
LibId;
public
LibraryManager(int EmpId, string EmployeeName, double
SalaryPerDay, int LibId)
: base(EmpId,
EmployeeName, SalaryPerDay)
{
this.LibId
= LibId;
}
public new virtual void Display()
{
base.Display();
Console.WriteLine("LibraryId" + LibId);
}
public override void
CalculateSalary(int NumberOfDays)
{
double
TotalSalaryLibraryIncharger = ((SalaryPerDay * NumberOfDays) - tax);
Console.WriteLine("The Total Salary of
TotalSalaryLibraryIncharger" + TotalSalaryLibraryIncharger);
}
}
class Admin : Employee
{
public
Admin(int EmpId, string
EmployeeName, double SalaryPerDay, int LibId)
: base(EmpId,
EmployeeName, SalaryPerDay)
{
}
public new virtual void Display()
{
base.Display();
}
public override void
CalculateSalary(int NumberOfDays)
{
double
TotalSalaryAdmin = ((SalaryPerDay * NumberOfDays + (SalaryPerDay *
NumberOfDays) * 0.15) - tax);
Console.WriteLine("The Total Salary of Admin" +
TotalSalaryAdmin);
}
}
class Program
{
static void Main(string[]
args)
{
//LibraryManager
objLibrary = new LibraryManager(1, "Anurag", 25.0, 100);
//objLibrary.Display();
//objLibrary.CalculateSalary(30);
//Admin
objAdmin = new Admin(1, "Anurag", 25.0, 100);
//objAdmin.Display();
//objAdmin.CalculateSalary(30);
Employee
E;
E = new
LibraryManager(2, "Abhishek",
30, 100);
Console.WriteLine("=============***********Salary
Structure*************===================");
Console.WriteLine("1: Library Admin");
Console.WriteLine("2: Admin");
Console.WriteLine("Choose 1/2");
int
choose = int.Parse(Console.ReadLine());
switch
(choose)
{
case
1:
E = new LibraryManager(1, "Anurag", 25.0, 100);
break;
case
2:
E = new Admin(1, "Anurag", 25.0, 100);
break;
default:
break;
}
E.Display();
E.CalculateSalary(30);
Console.WriteLine("=============***********Thank You*************===================");
Console.ReadLine();
}
}
}
No comments:
Post a Comment