namespace _41.里氏轉(zhuǎn)換法
{
class Program
{
//創(chuàng)建10個(gè)對(duì)象 通過(guò)一個(gè)循環(huán) 去調(diào)用他們各自打招呼的方法
//1、里氏轉(zhuǎn)換
//1)、子類(lèi)可以賦值給父類(lèi)
//2)、如果父類(lèi)中裝的是子類(lèi)對(duì)象,那么可以將這個(gè)父類(lèi)強(qiáng)轉(zhuǎn)為子類(lèi)對(duì)象。
static void Main(string[] args)
{
Person[] pers = new Person[10]; //新建10個(gè)對(duì)象
Random r = new Random(); //聲明一個(gè)隨機(jī)數(shù)
for (int i = 0; i
int rNmuber = r.Next(1, 8);
switch (rNmuber)
{
case 1:pers[i] = new Student(); //當(dāng)1-7時(shí),子類(lèi)賦值給父類(lèi)
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;
成都創(chuàng)新互聯(lián)是少有的成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型企業(yè)網(wǎng)站、微信小程序定制開(kāi)發(fā)、手機(jī)APP,開(kāi)發(fā)、制作、設(shè)計(jì)、友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,成立于2013年,堅(jiān)持透明化,價(jià)格低,無(wú)套路經(jīng)營(yíng)理念。讓網(wǎng)頁(yè)驚喜每一位訪客多年來(lái)深受用戶(hù)好評(píng)
}
}
for (int i = 0; i < pers.Length; i++) // 通過(guò)一個(gè)for循環(huán)進(jìn)行取值
{
if(pers[i] is Student) //如果可以轉(zhuǎn)成student
{
((Student)pers[i]).StudentSayHello(); //父類(lèi)強(qiáng)轉(zhuǎn)成子類(lèi),然后調(diào)用打招呼方法
}
else if(pers[i] is Teacher) //如果可以轉(zhuǎn)成Teacher
{
((Teacher)pers[i]).TeacherSayhello();//父類(lèi)強(qiáng)轉(zhuǎn)成子類(lèi),然后調(diào)用打招呼方法
}
else if(pers[i] is Doctor)
{
((Doctor)pers[i]).DoctorSayHello(); //父類(lèi)強(qiáng)轉(zhuǎn)成子類(lèi),然后調(diào)用打招呼方法
}
else if(pers[i] is Police)
{
((Police)pers[i]).PoliceSayHello(); //父類(lèi)強(qiáng)轉(zhuǎn)成子類(lèi),然后調(diào)用打招呼方法
}
else if(pers[i] is Nurse)
{
((Nurse)pers[i]).NurseSayHello(); //父類(lèi)強(qiáng)轉(zhuǎn)成子類(lèi),然后調(diào)用打招呼方法
}
else if(pers[i] is Driver)
{
((Driver)pers[i]).DriverSayHello(); //父類(lèi)強(qiáng)轉(zhuǎn)成子類(lèi),然后調(diào)用打招呼方法
}
else
{
pers[i].PersonSayHello();
}
}
Console.ReadKey();
}
//新建類(lèi)
public class Person //父類(lèi)
{
public void PersonSayHello()
{
Console.WriteLine("我是父類(lèi)");
}
}
public class Student:Person
{
public void StudentSayHello()
{
Console.WriteLine("我是學(xué)生");
}
}
public class Teacher : Person
{
public void TeacherSayhello()
{
Console.WriteLine("我是老師");
}
}
public class Doctor:Person
{
public void DoctorSayHello()
{
Console.WriteLine("我是醫(yī)生");
}
}
public class Police : Person
{
public void PoliceSayHello()
{
Console.WriteLine("我是警察");
}
}
public class Nurse : Person
{
public void NurseSayHello()
{
Console.WriteLine("我是護(hù)士");
}
}
public class Driver:Person
{
public void DriverSayHello()
{
Console.WriteLine("我是司機(jī)");
}
}
}
}