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());
}
}