定义一个人员类CPerson,包括字段:姓名,编号、性别,以及用于输入/输出的方法。在此基础上派生出学生类CStudent(增加“成绩”字段)和教师类(增加“教龄:字段),并实现对学生和教师信息的输入/输出。使用C#
时间: 2024-10-19 08:17:57 浏览: 51
在C#中,我们可以创建一个名为`CPerson`的基础类,然后分别派生出`CStudent`和`CTeacher`两个子类。这里是一个简单的例子:
```csharp
// 基础人员类 CPerson
public class CPerson
{
public string Name { get; set; }
public int ID { get; set; }
public string Gender { get; set; }
// 输入方法
public void InputPersonInfo()
{
Console.Write("请输入姓名:");
Name = Console.ReadLine();
Console.Write("请输入编号:");
ID = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入性别:");
Gender = Console.ReadLine();
}
// 输出方法
public void OutputPersonInfo()
{
Console.WriteLine($"姓名:{Name}");
Console.WriteLine($"编号:{ID}");
Console.WriteLine($"性别:{Gender}");
}
}
// 学生类 CStudent (继承自 CPerson 并添加成绩字段)
public class CStudent : CPerson
{
public double Score { get; set; }
// 学生特有的输入方法
public void InputStudentInfo()
{
Console.Write("请输入成绩:");
Score = Convert.ToDouble(Console.ReadLine());
}
// 继承自 CPerson 的输出方法
public override void OutputPersonInfo()
{
base.OutputPersonInfo();
Console.WriteLine($"成绩:{Score}");
}
}
// 教师类 CTecher (继承自 CPerson 并添加教龄字段)
public class CTeacher : CPerson
{
public int TeachingYears { get; set; }
// 教师特有的输入方法
public void InputTeacherInfo()
{
Console.Write("请输入教龄:");
TeachingYears = Convert.ToInt32(Console.ReadLine());
}
// 继承自 CPerson 的输出方法
public override void OutputPersonInfo()
{
base.OutputPersonInfo();
Console.WriteLine($"教龄:{TeachingYears}");
}
}
```
现在你可以实例化这些类,并调用它们的输入和输出方法来处理数据:
```csharp
var student = new CStudent();
student.InputPersonInfo();
student.InputStudentInfo(); // 对学生进行操作
student.OutputPersonInfo();
var teacher = new CTeacher();
teacher.InputPersonInfo();
teacher.InputTeacherInfo(); // 对教师进行操作
teacher.OutputPersonInfo();
```
阅读全文