使用c#设计一个人类Per son, 有一个虚方法GetPerson0,输出“这是基类Person”然后设计子类:医生类,并重写基类的虚方法,输出“这是医生类”;教师类 Teacher,并重写基类的虚方法,输出 “这是教师类”。分别建立每个类的对象,分别输出各对象的信息的完整代码
时间: 2024-03-25 09:38:52 浏览: 60
以下是使用C#设计Person类、Doctor类和Teacher类,并分别建立对象输出各对象信息的完整代码示例:
```csharp
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 person = new Person();
Doctor doctor = new Doctor();
Teacher teacher = new Teacher();
person.GetPerson(); // 输出:这是基类Person
doctor.GetPerson(); // 输出:这是医生类
teacher.GetPerson(); // 输出:这是教师类
Console.ReadKey();
}
}
```
在上面的代码中,我们定义了一个Person类作为基类,并在其中定义了一个虚方法GetPerson()。然后我们分别定义了Doctor类和Teacher类作为Person类的子类,并在这两个子类中重写了GetPerson()方法。
在Main()方法中,我们分别建立了Person、Doctor和Teacher类的对象,并分别调用它们的GetPerson()方法,输出了各自的信息。
需要注意的是,在子类中重写虚方法时,需要使用override关键字。此外,在Main()方法中建立对象时,分别使用了基类、子类的数据类型定义对象,这也是多态的体现之一。
阅读全文