c#设计一个人类Person,有一个虚方法Getperson(),输出“这是基类Person”,然后设计子类;医生类,并重写基类的虚方法,输出“这是医生类”,教师类Teacher,并重写基类的虚方法,输出“这是教师类”。分别建立每个类的对象,分别输出各对象的信息
时间: 2024-03-25 17:39:03 浏览: 44
好的,以下是 C# 代码实现:
```c#
using System;
public class Person
{
public virtual void Getperson()
{
Console.WriteLine("这是基类Person");
}
}
public class Doctor : Person
{
public override void Getperson()
{
Console.WriteLine("这是医生类");
}
}
public class Teacher : Person
{
public override void Getperson()
{
Console.WriteLine("这是教师类");
}
}
class Program
{
static void Main(string[] args)
{
Person p_person = new Person();
Doctor p_doctor = new Doctor();
Teacher p_teacher = new Teacher();
p_person.Getperson();
p_doctor.Getperson();
p_teacher.Getperson();
}
}
```
输出结果为:
```
这是基类Person
这是医生类
这是教师类
```
和 C++ 实现相似,这个例子中,Person 是基类,Doctor 和 Teacher 是 Person 的子类。每个类都实现了 Getperson() 方法,并且 Doctor 和 Teacher 重写了基类 Person 中的虚方法 Getperson(),以便输出不同的信息。
在主函数中,我们创建了一个 Person 对象、一个 Doctor 对象和一个 Teacher 对象,并依次调用它们的 Getperson() 方法,输出了不同的结果。
阅读全文