用C#写三个类,分别为经理类(Manager)、员工类(Employee)、和程序员类(Programmer)要求各写一个方法,经理十一点打卡,员工9点打卡,程序员不打卡,用多态实现
时间: 2024-09-27 14:10:48 浏览: 13
在 C# 中,我们可以创建一个多态的结构来实现这个场景。首先,我们创建一个抽象基类 `Employee`,然后分别派生出 `Manager` 和 `Programmer` 类,每个类都会覆盖基类中的 `ClockIn()` 方法来体现各自的行为。以下是代码示例:
```csharp
using System;
// 抽象基类 Employee
public abstract class Employee
{
public abstract void ClockIn();
}
// 经理类 Manager,继承自 Employee
public class Manager : Employee
{
public override void ClockIn()
{
Console.WriteLine("经理在11点打卡");
}
}
// 程序员类 Programmer,也继承自 Employee
public class Programmer : Employee
{
public override void ClockIn()
{
Console.WriteLine("程序员不需要打卡");
}
}
// 员工类 Employee 的通用版本,这里可以看作是一种泛指,实际应用中可能有具体的实现
public class EmployeeBase : Employee
{
public override void ClockIn()
{
Console.WriteLine($"员工在正常时间打卡,通常为9点");
}
}
// 主函数演示多态的应用
public static void Main(string[] args)
{
Employee manager = new Manager();
Employee programmer = new Programmer();
EmployeeBase employee = new EmployeeBase();
manager.ClockIn(); // 输出 "经理在11点打卡"
programmer.ClockIn(); // 输出 "程序员不需要打卡"
employee.ClockIn(); // 输出 "员工在正常时间打卡,通常为9点"
}
```