定义一个人员类CPerson,包括字段:姓名,编号、性别,以及用于输入/输出的方法。在此基础上派生出学生类CStudent(增加“成绩”字段)和教师类(增加“教龄:字段),并实现对学生和教师信息的输入/输出。用C#编程
时间: 2024-10-27 08:10:27 浏览: 32
首先,我们可以在C#中定义一个基础的`CPerson`类,包含姓名、编号和性别的属性:
```csharp
public class CPerson
{
public string Name { get; set; }
public int ID { get; set; }
public string Gender { get; set; }
// 输入方法
public void Input()
{
Console.Write("请输入姓名:");
Name = Console.ReadLine();
Console.Write("请输入编号:");
ID = int.Parse(Console.ReadLine());
Console.Write("请输入性别:");
Gender = Console.ReadLine();
}
// 输出方法
public void Output()
{
Console.WriteLine($"姓名:{Name}, 编号:{ID}, 性别:{Gender}");
}
}
```
接着,我们可以创建两个派生类:`CStudent`和`CTeacher`,分别添加额外的字段:
```csharp
public class CStudent : CPerson
{
public double Grade { get; set; }
public void Input()
{
base.Input();
Console.Write("请输入成绩:");
Grade = double.Parse(Console.ReadLine());
}
public override void Output()
{
base.Output();
Console.WriteLine($"成绩:{Grade}");
}
}
public class CTeacher : CPerson
{
public int TeachingYears { get; set; }
public void Input()
{
base.Input();
Console.Write("请输入教龄:");
TeachingYears = int.Parse(Console.ReadLine());
}
public override void Output()
{
base.Output();
Console.WriteLine($"教龄:{TeachingYears} 年");
}
}
```
现在你可以对这两种类型的实例进行输入和输出操作:
```csharp
static void Main(string[] args)
{
CStudent student = new CStudent();
student.Input();
student.Output();
CTeacher teacher = new CTeacher();
teacher.Input();
teacher.Output();
Console.ReadKey();
}
```
在这个例子中,`Input()` 和 `Output()` 方法在基类中定义,然后通过`override`关键字在派生类中重写了它们,以便适应学生的成绩和教师的教龄。
阅读全文