7-2 员工类 分数 10

7-7 员工类-2
用c#方法解答
修改题目131的员工类,使得Employee类为抽象类,getSalary()方法是抽象方法

输入格式:
经理的月工资
销售人员的基本工资 销售人员的提成
工人的工作天数 工人每天的工资

输出格式:
经理的工资
销售人员的工资
工人的工资

输入样例:
在这里给出一组输入。例如:

12000
3000 5000
22 200
输出样例:
在这里给出相应的输出。例如:

12000
8000
4400
代码长度限制
16 KB
时间限制
400 ms
内存限制

using System;

public abstract class Employee
{
    public abstract double GetSalary();
}

public class Manager : Employee
{
    private double monthlySalary;

    public Manager(double monthlySalary)
    {
        this.monthlySalary = monthlySalary;
    }

    public override double GetSalary()
    {
        return monthlySalary;
    }
}

public class Salesperson : Employee
{
    private double baseSalary;
    private double commission;

    public Salesperson(double baseSalary, double commission)
    {
        this.baseSalary = baseSalary;
        this.commission = commission;
    }

    public override double GetSalary()
    {
        return baseSalary + commission;
    }
}

public class Worker : Employee
{
    private int workDays;
    private double dailySalary;

    public Worker(int workDays, double dailySalary)
    {
        this.workDays = workDays;
        this.dailySalary = dailySalary;
    }

    public override double GetSalary()
    {
        return workDays * dailySalary;
    }
}

class Program
{
    static void Main(string[] args)
    {
        double managerSalary = double.Parse(Console.ReadLine());
        double salespersonBaseSalary = double.Parse(Console.ReadLine());
        double salespersonCommission = double.Parse(Console.ReadLine());
        int workerWorkDays = int.Parse(Console.ReadLine());
        double workerDailySalary = double.Parse(Console.ReadLine());

        Employee manager = new Manager(managerSalary);
        Employee salesperson = new Salesperson(salespersonBaseSalary, salespersonCommission);
        Employee worker = new Worker(workerWorkDays, workerDailySalary);

        Console.WriteLine(manager.GetSalary());
        Console.WriteLine(salesperson.GetSalary());
        Console.WriteLine(worker.GetSalary());
    }
}