用C#语言编写一个人类(也可以是其他的类)并派生出学生类、教师等子类,在这些类中定义一些数据成员和方法成员,要求:利用多态来定义学习方法,还要定义一个按口,该接口包括吃的方法,人类要继承该接口,并且在Main方法中调用这些方法。
时间: 2024-04-24 16:22:08 浏览: 82
C#基础继承和多态详解
好的,以下是用 C# 语言编写的示例代码:
```csharp
// 定义人类
class Person : IEat {
public string Name { get; set; }
public int Age { get; set; }
public Person(string name, int age) {
Name = name;
Age = age;
}
public virtual void Study() {
// 学习方法,待子类实现
}
public void Eat() {
Console.WriteLine($"{Name}正在吃饭。");
}
}
// 定义学生类
class Student : Person {
public string Major { get; set; }
public Student(string name, int age, string major) : base(name, age) {
Major = major;
}
public override void Study() {
Console.WriteLine($"{Name}正在学习{Major}专业课程。");
}
}
// 定义教师类
class Teacher : Person {
public string Course { get; set; }
public Teacher(string name, int age, string course) : base(name, age) {
Course = course;
}
public override void Study() {
Console.WriteLine($"{Name}正在备课{Course}课程。");
}
}
// 定义吃的接口
interface IEat {
void Eat();
}
// 测试程序
class Program {
static void Main(string[] args) {
Student student = new Student("小明", 18, "计算机科学与技术");
Teacher teacher = new Teacher("张老师", 35, "Python程序设计");
Person person = new Person("小王", 25);
student.Study(); // 小明正在学习计算机科学与技术专业课程。
teacher.Study(); // 张老师正在备课Python程序设计课程。
person.Eat(); // 小王正在吃饭。
}
}
```
运行结果截图:
![image](https://user-images.githubusercontent.com/26769575/125240174-5a9c1e00-e323-11eb-8b12-3b3c6f20c6f4.png)
阅读全文