using System.Collections;
using System.Collections.Generic;
public static void Main()
Manager manager = new Manager();
manager.Name = "Manager";
manager.DisplayDetails();
manager.CalculateBonus();
Developer developer = new Developer();
developer.Name = "Developer";
developer.Salary = 30000;
developer.DisplayDetails();
developer.CalculateBonus();
List<Employee> employees = new List<Employee> {manager, developer };
foreach(Employee employee in employees){
employee.DisplayDetails();
employee.CalculateBonus();
public abstract class Employee{
public string Name {get {return name;}set {name = value;}}
public double Salary {get {return salary;}set {salary = value;}}
public abstract void CalculateBonus();
public void DisplayDetails(){
Console.WriteLine($"Name {name} Salary {salary}");
public class Manager: Employee {
public override void CalculateBonus(){
double bonus = Salary * 0.2;
Console.WriteLine($"Bonus {bonus}");
public class Developer: Employee {
public override void CalculateBonus(){
double bonus = Salary * 0.1;
Console.WriteLine($"Bonus {bonus}");