用C#编写一个控制台程序,在该程序中构造一个Person基本类,再分别构造Student和Teacher派生类,要求具有不同的特征和行为。
时间: 2024-10-25 09:10:53 浏览: 43
在C#中,你可以创建一个名为`Person`的基础类,然后定义两个派生类`Student`和`Teacher`,它们从`Person`类继承并添加各自的特性和行为。这里是一个简单的例子:
```csharp
// 定义基础类 Person
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
// 基础类的行为
public void Introduce()
{
Console.WriteLine($"你好,我是{Name},今年{Age}岁。");
}
}
// 派生类 Student
public class Student : Person
{
public string Major { get; set; }
// 学生特有的行为
public void Study()
{
Console.WriteLine($"我正在学习{Major}专业。");
}
}
// 派生类 Teacher
public class Teacher : Person
{
public string Subject { get; set; }
// 教师特有的行为
public void Teach()
{
Console.WriteLine($"我在教{Subject}课程。");
}
}
// 主函数,实例化对象并演示多态
static void Main(string[] args)
{
Person person = new Person() { Name = "张三", Age = 25 };
person.Introduce();
Student student = new Student() { Name = "小明", Age = 18, Major = "计算机科学" };
student.Introduce();
student.Study();
Teacher teacher = new Teacher() { Name = "李老师", Age = 30, Subject = "数学" };
teacher.Introduce();
teacher.Teach();
// 显示多态性,通过父类型引用调用派生类方法
person = student; // 这里显示的是学生的信息和行为
person.Study(); // 调用的是Student的Study方法
person = teacher;
person.Teach(); // 调用的是Teacher的Teach方法
}
```
在这个示例中,我们展示了如何利用继承实现多态,并通过不同类型的对象共享相同的父类引用来动态地改变对象的行为。
阅读全文