初識(shí)繼承和多態(tài)--第五章._第1頁(yè)
初識(shí)繼承和多態(tài)--第五章._第2頁(yè)
初識(shí)繼承和多態(tài)--第五章._第3頁(yè)
初識(shí)繼承和多態(tài)--第五章._第4頁(yè)
初識(shí)繼承和多態(tài)--第五章._第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第五章初識(shí)繼承和多態(tài)初識(shí)繼承和多態(tài)回顧與作業(yè)點(diǎn)評(píng)回顧與作業(yè)點(diǎn)評(píng) 使用使用new實(shí)例化對(duì)象時(shí),調(diào)用了什么?實(shí)例化對(duì)象時(shí),調(diào)用了什么? 說(shuō)出方法重載的幾個(gè)特點(diǎn)?說(shuō)出方法重載的幾個(gè)特點(diǎn)?預(yù)習(xí)檢查預(yù)習(xí)檢查 子類(lèi)中調(diào)用父類(lèi)成員的關(guān)鍵字是什么?子類(lèi)中調(diào)用父類(lèi)成員的關(guān)鍵字是什么? 重寫(xiě)父類(lèi)方法使用什么關(guān)鍵字?重寫(xiě)父類(lèi)方法使用什么關(guān)鍵字?本章任務(wù)本章任務(wù) 使用繼承和多態(tài)使用繼承和多態(tài) 實(shí)現(xiàn)模擬汽車(chē)行駛實(shí)現(xiàn)模擬汽車(chē)行駛 實(shí)現(xiàn)員工匯報(bào)工作實(shí)現(xiàn)員工匯報(bào)工作 實(shí)現(xiàn)計(jì)算器實(shí)現(xiàn)計(jì)算器 理解繼承的概念理解繼承的概念 能夠利用繼承建立父類(lèi)和子類(lèi)能夠利用繼承建立父類(lèi)和子類(lèi) 理解多態(tài)的概念理解多態(tài)的概念 會(huì)重寫(xiě)虛方法實(shí)現(xiàn)多態(tài)會(huì)重

2、寫(xiě)虛方法實(shí)現(xiàn)多態(tài)本章目標(biāo)本章目標(biāo)代碼冗余代碼冗余 對(duì)比兩個(gè)類(lèi)對(duì)比兩個(gè)類(lèi)PM、SE 加入加入CEO類(lèi),具有這些相同的屬性類(lèi),具有這些相同的屬性年齡、性別、姓年齡、性別、姓名等是重復(fù)的名等是重復(fù)的如何共用重復(fù)代碼?如何共用重復(fù)代碼?提取冗余代碼提取冗余代碼將公共的成員放將公共的成員放到一個(gè)類(lèi)中到一個(gè)類(lèi)中保留自己特有保留自己特有的成員的成員保留自己特有保留自己特有的成員的成員提取后的應(yīng)用提取后的應(yīng)用class SE:Employee public SE(string id, string name, int age, Gender gender,int popularity) this.ID = i

3、d; this.Name = name; this.Age = age; this.Gender = gender; this.Popularity = popularity; / 人氣值人氣值 public int Popularity get; set; .只有特有的屬性只有特有的屬性公共屬性仍可訪(fǎng)問(wèn)公共屬性仍可訪(fǎng)問(wèn)繼承繼承卡車(chē)和巴士都是汽車(chē)卡車(chē)和巴士都是汽車(chē) 生活中的繼承生活中的繼承汽車(chē)汽車(chē) 剎車(chē)剎車(chē)行駛行駛共有行為:共有行為:輪子輪子發(fā)動(dòng)機(jī)發(fā)動(dòng)機(jī)共有特征:共有特征:卸貨卸貨拉貨拉貨各自行為:各自行為:載重載重貨艙貨艙各自特征:各自特征:??空就?空緢?bào)站報(bào)站各自行為:各自行為:載客量載客

4、量客艙客艙各自特征:各自特征:他們共有的特征他們共有的特征來(lái)自汽車(chē)來(lái)自汽車(chē)有什么共同有什么共同特征呢?特征呢?卡車(chē)卡車(chē) 公共汽車(chē)公共汽車(chē) 繼承概述繼承概述2-1 繼承:繼承: 在在 C# 中,類(lèi)可以繼承自另一個(gè)類(lèi)。衍生的類(lèi)(子類(lèi))繼承父中,類(lèi)可以繼承自另一個(gè)類(lèi)。衍生的類(lèi)(子類(lèi))繼承父類(lèi)的方法和數(shù)據(jù)成員類(lèi)的方法和數(shù)據(jù)成員 子類(lèi)繼承父類(lèi),父類(lèi)派生子類(lèi)子類(lèi)繼承父類(lèi),父類(lèi)派生子類(lèi) 父類(lèi)又叫父類(lèi)又叫基類(lèi)基類(lèi) 子類(lèi)又叫子類(lèi)又叫派生類(lèi)派生類(lèi)Employee PM SE 子類(lèi)子類(lèi) 父類(lèi)父類(lèi) class 子類(lèi)子類(lèi) : 父類(lèi)父類(lèi) 繼承概述繼承概述2-2 繼承是面向?qū)ο蟮囊粋€(gè)重要特性繼承是面向?qū)ο蟮囊粋€(gè)重要特性 繼

5、承指出兩個(gè)類(lèi)是繼承指出兩個(gè)類(lèi)是“A 是是 B”關(guān)系關(guān)系繼承在類(lèi)圖中繼承在類(lèi)圖中的表示的表示自己特有的自己特有的成員成員繼承父繼承父類(lèi)的成類(lèi)的成員員繼承需要符合的關(guān)系:繼承需要符合的關(guān)系:is-aSE is a Employee繼承的實(shí)際應(yīng)用繼承的實(shí)際應(yīng)用3-1部門(mén)所有人都自我介紹部門(mén)所有人都自我介紹SayHi()SE 大家好,我是大家好,我是 XX, 今年今年 XX歲,工號(hào)是歲,工號(hào)是 XX,我的人氣值高達(dá),我的人氣值高達(dá) XX!PM 大家好,我是大家好,我是 XX ,今年,今年 XX歲,項(xiàng)目管理經(jīng)驗(yàn)歲,項(xiàng)目管理經(jīng)驗(yàn) XX年。年。子類(lèi)特有屬性子類(lèi)特有屬性子類(lèi)中訪(fǎng)問(wèn)繼承父類(lèi)子類(lèi)中訪(fǎng)問(wèn)繼承父類(lèi)的公

6、共屬性的公共屬性繼承的實(shí)際應(yīng)用繼承的實(shí)際應(yīng)用3-2 SE類(lèi)和類(lèi)和PM類(lèi)都繼承類(lèi)都繼承Employee父類(lèi)父類(lèi) 子類(lèi)構(gòu)造函數(shù)設(shè)置公共屬性和特有屬性子類(lèi)構(gòu)造函數(shù)設(shè)置公共屬性和特有屬性public class PM:Employeepublic class SE:Employeepublic SE(string id, string name, int age, Gender gender,int popularity) this.ID = id; this.Name = name; this.Age = age; this.Gender = gender; this.Popularity = po

7、pularity;繼承自父類(lèi)的公共屬性繼承自父類(lèi)的公共屬性子類(lèi)擴(kuò)展的屬性子類(lèi)擴(kuò)展的屬性實(shí)現(xiàn)繼承實(shí)現(xiàn)繼承繼承的實(shí)際應(yīng)用繼承的實(shí)際應(yīng)用3-3 子類(lèi)特有的子類(lèi)特有的SayHi()方法方法 實(shí)例化對(duì)象調(diào)用實(shí)例化對(duì)象調(diào)用SayHi()public string SayHi() /SE的的SayHipublic string SayHi() /PM的的SayHi/實(shí)例化一個(gè)程序員對(duì)象實(shí)例化一個(gè)程序員對(duì)象SE engineer = new SE(112, 艾邊成艾邊成, 25, Gender.male, 100);Console.WriteLine(engineer.SayHi();/實(shí)例化一個(gè)實(shí)例化一個(gè)P

8、M對(duì)象對(duì)象PM pm = new PM(890,蓋茨蓋茨,50,Gender.female,50);Console.WriteLine(pm.SayHi();SE調(diào)用自己的調(diào)用自己的SayHi() PM調(diào)用自己的調(diào)用自己的SayHi() 演示示例:使用繼承實(shí)現(xiàn)問(wèn)好演示示例:使用繼承實(shí)現(xiàn)問(wèn)好base調(diào)用父類(lèi)成員調(diào)用父類(lèi)成員 關(guān)鍵字關(guān)鍵字base的作用的作用 調(diào)用父類(lèi)的屬性和方法調(diào)用父類(lèi)的屬性和方法public string SayHi() string message = string.Format( 大家好,我是大家好,我是 0, 今年今年 1歲,工號(hào)是歲,工號(hào)是 2,我的人氣值高達(dá),我的人氣

9、值高達(dá) 3!, base.Name, base.Age, base.ID, this.Popularity); return message;調(diào)用父類(lèi)的調(diào)用父類(lèi)的屬性屬性protected訪(fǎng)問(wèn)修飾符訪(fǎng)問(wèn)修飾符 如何讓父類(lèi)中的某個(gè)成員只允許其子類(lèi)訪(fǎng)問(wèn)如何讓父類(lèi)中的某個(gè)成員只允許其子類(lèi)訪(fǎng)問(wèn)protected訪(fǎng)問(wèn)修飾符只允許繼承它的子類(lèi)訪(fǎng)問(wèn)訪(fǎng)問(wèn)修飾符只允許繼承它的子類(lèi)訪(fǎng)問(wèn) 父類(lèi)成員父類(lèi)成員public修飾修飾子類(lèi)繼承并可子類(lèi)繼承并可以訪(fǎng)問(wèn)以訪(fǎng)問(wèn)private修飾修飾子類(lèi)無(wú)法訪(fǎng)問(wèn)子類(lèi)無(wú)法訪(fǎng)問(wèn)演示示例:演示示例:protected訪(fǎng)問(wèn)修飾符訪(fǎng)問(wèn)修飾符類(lèi)內(nèi)部類(lèi)內(nèi)部子類(lèi)子類(lèi)其他類(lèi)其他類(lèi)public可以可以可

10、以可以可以可以private可以可以不可以不可以不可以不可以protected可以可以可以可以不可以不可以揭秘子類(lèi)構(gòu)造函數(shù)揭秘子類(lèi)構(gòu)造函數(shù) 構(gòu)造子類(lèi)對(duì)象,父類(lèi)做了什么?構(gòu)造子類(lèi)對(duì)象,父類(lèi)做了什么? base關(guān)鍵字:顯示調(diào)用父類(lèi)構(gòu)造函數(shù)關(guān)鍵字:顯示調(diào)用父類(lèi)構(gòu)造函數(shù)演示示例:斷點(diǎn)追蹤實(shí)例化對(duì)象過(guò)程演示示例:斷點(diǎn)追蹤實(shí)例化對(duì)象過(guò)程public SE(string id,string name,int age, Gender gender, int popularity) : base(id, age, name, gender) this.Popularity = popularity;顯示調(diào)用父類(lèi)

11、的顯示調(diào)用父類(lèi)的構(gòu)造函數(shù)構(gòu)造函數(shù)公共屬性在父類(lèi)構(gòu)造函數(shù)中初始化,公共屬性在父類(lèi)構(gòu)造函數(shù)中初始化,代碼簡(jiǎn)潔、冗余少代碼簡(jiǎn)潔、冗余少演示示例:使用演示示例:使用base指定調(diào)用父類(lèi)構(gòu)造函數(shù)指定調(diào)用父類(lèi)構(gòu)造函數(shù)public SE(string id, string name, int age, Gender gender,int popularity) this.ID = id; . this.Popularity = popularity;base()隱式調(diào)用父隱式調(diào)用父類(lèi)構(gòu)造函數(shù)類(lèi)構(gòu)造函數(shù)常見(jiàn)錯(cuò)誤常見(jiàn)錯(cuò)誤2-1class Student:Person public Student(int age

12、, string name, string hobby) :base(int age, string name) this.Hobby = hobby; 調(diào)用父類(lèi)構(gòu)造函調(diào)用父類(lèi)構(gòu)造函數(shù):傳遞參數(shù)數(shù):傳遞參數(shù)編譯錯(cuò)誤編譯錯(cuò)誤常見(jiàn)錯(cuò)誤常見(jiàn)錯(cuò)誤2-2class Person public Person(int age, string name) this.Age = age; this.Name = name; public int Age get; set; public string Name get; set; class Student:Person public Student(int a

13、ge, string name, string hobby) this.Age = age; this.Name = name; this.Hobby = hobby; base()父類(lèi)要提供無(wú)參的構(gòu)父類(lèi)要提供無(wú)參的構(gòu)造函數(shù)造函數(shù)如果父類(lèi)沒(méi)有無(wú)參的構(gòu)造函數(shù)如果父類(lèi)沒(méi)有無(wú)參的構(gòu)造函數(shù)子類(lèi)構(gòu)造函數(shù)必須指明調(diào)用父類(lèi)哪個(gè)構(gòu)造函數(shù)子類(lèi)構(gòu)造函數(shù)必須指明調(diào)用父類(lèi)哪個(gè)構(gòu)造函數(shù)指導(dǎo)指導(dǎo)模擬汽車(chē)行駛模擬汽車(chē)行駛 訓(xùn)練要點(diǎn)訓(xùn)練要點(diǎn) 繼承繼承 base關(guān)鍵字關(guān)鍵字 需求說(shuō)明需求說(shuō)明 控制臺(tái)程序?qū)崿F(xiàn)汽車(chē)與卡車(chē)的繼承控制臺(tái)程序?qū)崿F(xiàn)汽車(chē)與卡車(chē)的繼承 汽車(chē)類(lèi)汽車(chē)類(lèi)Vehicle有有VehicleRun ()方法,方法, 輸出

14、輸出“汽車(chē)在行駛!汽車(chē)在行駛!” 卡車(chē)類(lèi)卡車(chē)類(lèi)Truck有有TruckRun()方法,輸出方法,輸出“型號(hào)為型號(hào)為XX、產(chǎn)地為、產(chǎn)地為XX的的卡車(chē)在行駛!卡車(chē)在行駛!” 實(shí)例化一個(gè)卡車(chē)調(diào)用汽車(chē)和卡車(chē)的方法實(shí)例化一個(gè)卡車(chē)調(diào)用汽車(chē)和卡車(chē)的方法指導(dǎo)指導(dǎo)模擬汽車(chē)行駛模擬汽車(chē)行駛 實(shí)現(xiàn)思路實(shí)現(xiàn)思路 創(chuàng)建創(chuàng)建Vehicle,并添加屬性,并添加屬性“類(lèi)型類(lèi)型”和和“產(chǎn)地產(chǎn)地”以及構(gòu)造函數(shù)以及構(gòu)造函數(shù) Vehicle類(lèi)添加方法類(lèi)添加方法VehicleRun() 創(chuàng)建創(chuàng)建Truck類(lèi)繼承類(lèi)繼承Vehicle,添加構(gòu)造函數(shù),添加構(gòu)造函數(shù) Truck類(lèi)添加方法類(lèi)添加方法TruckRun() 編寫(xiě)測(cè)試方法編寫(xiě)測(cè)試方法

15、完成時(shí)間:完成時(shí)間:15分鐘分鐘繼承的傳遞性繼承的傳遞性汽車(chē)汽車(chē)雙層雙層 單層單層 小型卡車(chē)小型卡車(chē) 重型卡車(chē)重型卡車(chē) 同樣具有汽車(chē)同樣具有汽車(chē)的特征的特征繼承的傳遞性繼承的傳遞性卡車(chē)卡車(chē)公共汽車(chē)公共汽車(chē)還可以派生還可以派生更多的類(lèi)型更多的類(lèi)型繼承的傳遞性繼承的傳遞性 添加一個(gè)微型卡車(chē)類(lèi)添加一個(gè)微型卡車(chē)類(lèi)public class SmallTruck : Truck public void SmallTruckRun() Console.WriteLine(微型卡車(chē)在行駛!微型卡車(chē)在行駛!); static void Main(string args) SmallTruck smalltruc

16、k = new SmallTruck(); smalltruck.VehicleRun(); smalltruck.TruckRun(); smalltruck.SmallTruckRun(); public class Truck : Vehicle繼承關(guān)系繼承關(guān)系父類(lèi)的父類(lèi)成員父類(lèi)的父類(lèi)成員父類(lèi)的成員父類(lèi)的成員傳遞性傳遞性繼承單根性繼承單根性public class CharmingPerson : SE, Musician編譯錯(cuò)誤編譯錯(cuò)誤C#中子類(lèi)不能繼承多個(gè)父類(lèi)中子類(lèi)不能繼承多個(gè)父類(lèi)CharmingPerson 軟件工程師軟件工程師 音樂(lè)家音樂(lè)家 某類(lèi)人某類(lèi)人是否可以這樣是否可以這樣描

17、述?描述?具有兩種人的具有兩種人的特征特征軟件開(kāi)發(fā)中繼承的妙處軟件開(kāi)發(fā)中繼承的妙處 模擬現(xiàn)實(shí)世界的關(guān)系模擬現(xiàn)實(shí)世界的關(guān)系 便于重用和擴(kuò)展已徹底測(cè)試的代碼,且無(wú)需修改便于重用和擴(kuò)展已徹底測(cè)試的代碼,且無(wú)需修改 結(jié)構(gòu)更清晰結(jié)構(gòu)更清晰SE人氣值人氣值Employee姓名姓名年齡年齡子類(lèi)更加關(guān)注與子類(lèi)子類(lèi)更加關(guān)注與子類(lèi)相關(guān)的行為和狀態(tài)相關(guān)的行為和狀態(tài)共有屬性由父類(lèi)負(fù)責(zé)共有屬性由父類(lèi)負(fù)責(zé)IS-A的應(yīng)用的應(yīng)用 實(shí)現(xiàn)多個(gè)員工逐個(gè)問(wèn)好(包括實(shí)現(xiàn)多個(gè)員工逐個(gè)問(wèn)好(包括SE和和PM)子類(lèi)子類(lèi) is-a 父類(lèi),子類(lèi)可以加入父類(lèi)類(lèi)型的父類(lèi),子類(lèi)可以加入父類(lèi)類(lèi)型的泛型集合泛型集合ListSE ai = new SE(1

18、12, 艾邊成艾邊成, 25, Gender.male, 100);List empls = new List();empls.Add(ai);if (empls0 is SE) SE se = (SE)empls0; Console.WriteLine(se.SayHi();演示示例:演示示例:is a的應(yīng)用的應(yīng)用is檢查類(lèi)型檢查類(lèi)型指導(dǎo)指導(dǎo)實(shí)現(xiàn)工作匯報(bào)實(shí)現(xiàn)工作匯報(bào) 訓(xùn)練要點(diǎn)訓(xùn)練要點(diǎn) 繼承繼承 構(gòu)造函數(shù)構(gòu)造函數(shù) IS-A 需求說(shuō)明需求說(shuō)明 PM類(lèi)和類(lèi)和SE類(lèi)均繼承類(lèi)均繼承Employee,公共屬性在父類(lèi)構(gòu)造函數(shù)中,公共屬性在父類(lèi)構(gòu)造函數(shù)中初始化初始化 實(shí)現(xiàn)不同員工匯報(bào)工作方法實(shí)現(xiàn)不同員工匯報(bào)

19、工作方法DoWork() SE通過(guò)遍歷工作項(xiàng),輸出工作信息通過(guò)遍歷工作項(xiàng),輸出工作信息 PM輸出固定工作信息輸出固定工作信息指導(dǎo)指導(dǎo)實(shí)現(xiàn)工作匯報(bào)實(shí)現(xiàn)工作匯報(bào) 難點(diǎn)分析難點(diǎn)分析 Job類(lèi)定義工作項(xiàng)類(lèi)定義工作項(xiàng) SE和和PM繼承員工類(lèi)繼承員工類(lèi) DoWork()方法是子類(lèi)特有方法是子類(lèi)特有的方法的方法完成時(shí)間:完成時(shí)間:25分鐘分鐘擴(kuò)展的麻煩擴(kuò)展的麻煩 添加對(duì)象后遍歷泛型集合添加對(duì)象后遍歷泛型集合List empls = new List();foreach(Employee empl in empls) if (empl is SE) Console.WriteLine(SE)empl).Say

20、Hi(); if(empl is PM) Console.WriteLine(PM)empl).SayHi(); 進(jìn)行判斷對(duì)象類(lèi)進(jìn)行判斷對(duì)象類(lèi)型型調(diào)用相應(yīng)類(lèi)的調(diào)用相應(yīng)類(lèi)的SayHi()添加多個(gè)不同的子類(lèi),添加多個(gè)不同的子類(lèi),SayHi()都不同都不同, ,增加代碼復(fù)雜度如何解決?增加代碼復(fù)雜度如何解決? 巧妙減少判斷冗余巧妙減少判斷冗余 修改修改Employee類(lèi)類(lèi) 修改子類(lèi)修改子類(lèi)SayHi()方法方法 去除子類(lèi)類(lèi)型判斷去除子類(lèi)類(lèi)型判斷public virtual string SayHi() string message = string.Format(大家好!大家好!); return

21、message;添加添加SayHi()方法方法 用關(guān)鍵字修飾用關(guān)鍵字修飾 foreach(Employee empl in empls) Console.WriteLine(empl.SayHi(); public override string SayHi() 用關(guān)鍵字修飾用關(guān)鍵字修飾 這種方式實(shí)現(xiàn)了面向?qū)ο蟮倪@種方式實(shí)現(xiàn)了面向?qū)ο蟮亩鄳B(tài)多態(tài) 簡(jiǎn)化了代碼維護(hù)簡(jiǎn)化了代碼維護(hù) 生活中的多態(tài)生活中的多態(tài)Cut.!聽(tīng)到這個(gè)聲音他們聽(tīng)到這個(gè)聲音他們會(huì)做什么?會(huì)做什么?剪斷頭發(fā)剪斷頭發(fā)切開(kāi)皮膚切開(kāi)皮膚停止表演停止表演不同對(duì)象對(duì)于同一個(gè)方法(不同對(duì)象對(duì)于同一個(gè)方法(Cut)實(shí)現(xiàn)不同的行為)實(shí)現(xiàn)不同的行為

22、理發(fā)師理發(fā)師 外科醫(yī)生外科醫(yī)生 演員演員 什么是多態(tài)什么是多態(tài) 多態(tài):指兩個(gè)或多個(gè)屬于不同類(lèi)的對(duì)象,對(duì)同一個(gè)消息多態(tài):指兩個(gè)或多個(gè)屬于不同類(lèi)的對(duì)象,對(duì)同一個(gè)消息(方法調(diào)用)作出不同響應(yīng)的能力(方法調(diào)用)作出不同響應(yīng)的能力 同一個(gè)類(lèi)在不同場(chǎng)合下表現(xiàn)出不同的行為特征同一個(gè)類(lèi)在不同場(chǎng)合下表現(xiàn)出不同的行為特征PM對(duì)象和對(duì)象和SE對(duì)象對(duì)象SayHi()的內(nèi)容不同的內(nèi)容不同 Employee SE PM Employee類(lèi),類(lèi),在這兩種場(chǎng)合的在這兩種場(chǎng)合的行為不同行為不同重寫(xiě)虛方法實(shí)現(xiàn)多態(tài)重寫(xiě)虛方法實(shí)現(xiàn)多態(tài)2-1方法重寫(xiě)方法重寫(xiě):子類(lèi)重寫(xiě)父類(lèi)方法:子類(lèi)重寫(xiě)父類(lèi)方法public class Employee

23、 public virtual string SayHi() string message = string.Format(大家好!大家好!); return message; public class SE:Employee public override string SayHi() 重寫(xiě)重寫(xiě)方法名、參數(shù)列表、返回值方法名、參數(shù)列表、返回值一樣,提供不同的實(shí)現(xiàn)一樣,提供不同的實(shí)現(xiàn)virtual關(guān)鍵字表關(guān)鍵字表示虛方法示虛方法override關(guān)鍵字關(guān)鍵字實(shí)現(xiàn)方法重寫(xiě)實(shí)現(xiàn)方法重寫(xiě)1重寫(xiě)虛方法實(shí)現(xiàn)多態(tài)重寫(xiě)虛方法實(shí)現(xiàn)多態(tài)2-2方法調(diào)用:方法調(diào)用:2Employee ema = new SE(210,Ema,33,Gender.female,100);Console.WriteLine(ema.SayHi();定義父類(lèi)變量,定義父類(lèi)變量,創(chuàng)建子類(lèi)對(duì)象創(chuàng)建子類(lèi)對(duì)象foreach(Employee empl in empls) Console.Wri

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論