41.C#--裏氏轉換法--創建10個對象 通過一個循環 去調用他們各自打招呼的方法
阿新 • • 發佈:2019-04-29
轉換 police next lin 進行 names rand namespace 隨機 namespace _41.裏氏轉換法
{
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 <pers.Length; i++)//通過循環給Person賦值
{
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;
{
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 <pers.Length; i++)//通過循環給Person賦值
{
int rNmuber = r.Next(1, 8);
{
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 < pers.Length; i++) // 通過一個for循環進行取值 { if(pers[i] is Student) //如果可以轉成student { ((Student)pers[i]).StudentSayHello(); //父類強轉成子類,然後調用打招呼方法 } else if(pers[i] is Teacher) //如果可以轉成Teacher { ((Teacher)pers[i]).TeacherSayhello();//父類強轉成子類,然後調用打招呼方法 } else if(pers[i] is Doctor) { ((Doctor)pers[i]).DoctorSayHello(); //父類強轉成子類,然後調用打招呼方法 } else if(pers[i] is Police) { ((Police)pers[i]).PoliceSayHello(); //父類強轉成子類,然後調用打招呼方法 } else if(pers[i] is Nurse) { ((Nurse)pers[i]).NurseSayHello(); //父類強轉成子類,然後調用打招呼方法 } else if(pers[i] is Driver) { ((Driver)pers[i]).DriverSayHello(); //父類強轉成子類,然後調用打招呼方法 } else { pers[i].PersonSayHello(); } } Console.ReadKey(); } 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個對象 通過一個循環 去調用他們各自打招呼的方法