41.C#--里氏转换法--创建10个对象 通过一个循环 去调用他们各自打招呼的方法
2021-06-06 08:04
标签:int ring 取值 转换 teacher def doc space oid //新建类 41.C#--里氏转换法--创建10个对象 通过一个循环 去调用他们各自打招呼的方法 标签:int ring 取值 转换 teacher def doc space oid 原文地址:https://blog.51cto.com/12679593/2386359
{
class Program
{
//创建10个对象 通过一个循环 去调用他们各自打招呼的方法
//1、里氏转换
//1)、子类可以赋值给父类
//2)、如果父类中装的是子类对象,那么可以将这个父类强转为子类对象。
static void Main(string[] args)
{
Person[] pers = new Person[10]; //新建10个对象
Random r = new Random(); //声明一个随机数
for (int i = 0; i
int rNmuber = r.Next(1, 8);
switch (rNmuber)
{
case 1:pers[i] = new Student(); //当1-7时,子类赋值给父类
break;
case 2:pers[i] = new Teacher();
break;
case 3:pers[i] = new Doctor();
break;
case 4:pers[i] = new Police();
break;
case 5:pers[i] = new Nurse();
break;
case 6:pers[i] = new Driver();
break;
default:pers[i] = new Person();
break;
}
}
for (int i = 0; i
public class Person //父类
{
public void PersonSayHello()
{
Console.WriteLine("我是父类");
}
}
public class Student:Person
{
public void StudentSayHello()
{
Console.WriteLine("我是学生");
}
}
public class Teacher : Person
{
public void TeacherSayhello()
{
Console.WriteLine("我是老师");
}
}
public class Doctor:Person
{
public void DoctorSayHello()
{
Console.WriteLine("我是医生");
}
}
public class Police : Person
{
public void PoliceSayHello()
{
Console.WriteLine("我是警察");
}
}
public class Nurse : Person
{
public void NurseSayHello()
{
Console.WriteLine("我是护士");
}
}
public class Driver:Person
{
public void DriverSayHello()
{
Console.WriteLine("我是司机");
}
}
}
}
文章标题:41.C#--里氏转换法--创建10个对象 通过一个循环 去调用他们各自打招呼的方法
文章链接:http://soscw.com/index.php/essay/91193.html