<span id="plx27"><var id="plx27"></var></span>
<dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>
  • 歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
    裝配圖網(wǎng)
    ImageVerifierCode 換一換
    首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

    使用C#進(jìn)行面向?qū)ο缶幊?第八章 繼承和多態(tài)

    • 資源ID:248210885       資源大?。?span id="9lpvzxe" class="font-tahoma">175.50KB        全文頁數(shù):48頁
    • 資源格式: PPT        下載積分:15積分
    快捷下載 游客一鍵下載
    會員登錄下載
    微信登錄下載
    三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
    二維碼
    微信掃一掃登錄
    下載資源需要15積分
    郵箱/手機(jī):
    溫馨提示:
    用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
    支付方式: 支付寶    微信支付   
    驗證碼:   換一換

     
    賬號:
    密碼:
    驗證碼:   換一換
      忘記密碼?
        
    友情提示
    2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
    3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
    4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
    5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

    使用C#進(jìn)行面向?qū)ο缶幊?第八章 繼承和多態(tài)

    ,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第八章 繼承和多態(tài),1,本章內(nèi)容,繼承,引用變量類型和所指對象類型不一致的情況,多態(tài),抽象類和抽象方法,2,8,.1 繼承,在,C#,編程語言中,通過繼承可利用已有的類,并擴(kuò)展它的屬性和方法。這個已有的類可以是,.net,類庫中的類的或其他程序員編寫的。,通過繼承,能夠復(fù)用原有代碼。,3,什么是繼承,如何定義繼承,子類對象的創(chuàng)建過程,父類的,private,成員的繼承問題,靜態(tài)成員的繼承問題,成員變量的隱藏,方法的隱藏,base,關(guān)鍵字,有關(guān)繼承的知識點,4,考慮如下問題,:,定義動物,人,魚這三個類,存在幾個問題:,(1)沒有描述這幾個類之間的關(guān)系。,(2)定義其他類(如貓,狗)時,除了定義該類的特殊屬性和行為外,還需要定義動物的一般屬性和行為。,(3)如果動物的一般屬性和行為需要修改,則跟該類有關(guān)的所有類的定義都需要修改。,動物的屬性,動物的行為,動物的屬性,動,物的行為,人的特殊屬性,人的特殊行為,動,物的屬性,動,物的行為,魚的特殊屬性,魚的特殊行為,動物,人,魚,(1)什么是繼承,5,為解決這個問題,引入,類的繼承,這個概念。,我們使得,人類,和,魚類,繼承,動物類,。,動物的屬性,動物的行為,自動具有動物類,的屬性和行為,人的特殊屬性,人的特殊行為,自動具有動物類,的屬性和行為,魚的特殊屬性,魚的特殊行為,動物,(基類/父類/超類),人,(派生類/子類),魚,(派生類/子類),繼承,繼承,6,基類和派生類的概念是相對的,一個類既可以是基類,也可以是派生類。,汽車,小轎車,卡車,客車,繼承,繼承,繼承,輪船,交通工具,繼承,繼承,7,繼承的語法形式:,class,子類的名稱,:,父類名稱,子類特有的成員變量和成員函數(shù),(2)如何定義繼承,class Human:Living,public void say(),System.Console.Write(hello!);,class Animal,public,int,age;,public void shout(),8,分析一所大學(xué)中的人的類層次結(jié)構(gòu),學(xué)生,本科生,研究生,教師,繼承,繼承,繼承,教職員工,人,繼承,繼承,職工,繼承,9,C#,中所有的類(包括我們自己定義的類)都是直接或間接繼承自,System.Object,類。,10,注意,:,(1)子類繼承所有的父類成員,(2)子類中能夠直接訪問繼承自父類的,public、protected,成員,(3)子類中不能夠直接訪問繼承自父類的,private,成員,11,繼承的威力,你已經(jīng)實現(xiàn)了一個基本的計算器程序,.,現(xiàn)在如果要你實現(xiàn)一個類似,windows,自帶計算器那樣既有標(biāo)準(zhǔn)版功能又有科學(xué)版功能的計算器,你該怎么辦,?,12,(3)子類對象的 創(chuàng)建過程,子類對象可看作內(nèi)部包含著一個父類的對象,子類對象的創(chuàng)建過程,(1)按照定義順序初始化子類對象新定義的成員變量,(2)創(chuàng)建子類對象中包含的父類對象,(3)調(diào)用子類的構(gòu)造函數(shù),class X,class Y:X,public,int,data;,X,類對象,Y,類對象,data,13,習(xí)題:,下列程序的輸出結(jié)果是什么?,class,A,public A(),System.Console.WriteLine(A,();,class,B,public,B()System.Console.WriteLine(B,();,class,Point,public,Point()System.Console.WriteLine(Point,();,class,MapPoint,:Point,public MapPoint(),System.Console.WriteLine(MapPoint,();,class,ColorPoint,:MapPoint,public A a=new A();,public B b;,public,ColorPoint,(),System.Console.WriteLine(ColorPoint,();,public static void Main(),new,ColorPoint,();,Point,MapPoint,ColorPoint,14,子類中不能直接訪問繼承自父類的,private,成員,下列程序編譯出錯,public class A,private,int,age=10;,public class B:A,public void fun(),age=20;,age,A,類,的對象,age,Test,類,的對象,繼承自,A,類,(4)父類的,private,成員的繼承問題,15,在子類中如何訪問繼承自父類的,private,成員?,可以通過繼承自父類的,public,或,protected,成員來訪問繼承自父類的,private,成員,public class A,private,int,age=10;,public,int,GetAge,(),return age;,public class B:A,public void Fun(),Console.WriteLine(GetAge,();,public class Test,public static void Main(string,args,),B b1=new B();,b1.Fun();,16,某類的靜態(tài)成員為該類及該類的所有子類所共有,public class A,public static,int,data=10;,public class B:A,(5)靜態(tài)成員的繼承問題,17,(6)成員變量的隱藏,如果子類中新定義的成員變量與父類中的某個成員變量同名,那么對于這個子類而言父類中的同名成員變量將被隱藏。,class Living,public,int,age=10;,class Human:Living,new,public,int,age=20;,age,Living,類,的對象,age,Human,類,的對象,age,繼承自,Living,類,Human,類,新定義的,成員變量,18,子類通過繼承自父類的方法能夠訪問繼承自父類的被隱藏的成員變量,class Living,public,int,age=10;,public,int,getage,(),return age;,class Human:Living,public,int,age=20;,19,靜態(tài)成員變量的隱藏,class Living,public static,int,age;,class Human:Living,new,public static,int,age;,這兩個靜態(tài)成員變量相互獨(dú)立,20,(7)方法的隱藏,如果子類中新定義的方法的名稱、返回值類型、參數(shù)列表與父類中的某個方法完全相同,則稱子類中的方法隱藏了父類中的方法。(注意和重載的 區(qū)別),class Living,public void shout(),System.Console.Write(,動物叫!);,class Human:Living,new public void shout(),System.Console.Write(,人叫!);,21,class A,public void,PrintNumber(int,a),System.Console.WriteLine(+a,);,class B:A,public void,PrintNumber(int,a,int,b),System.,Console.WriteLine(a,);,public static void Main(),B b=new B();,b.PrintNumber(100);,習(xí)題:分析下列程序輸出結(jié)果,結(jié)果:101,22,class Point,public,int,x=0;,public,Point(int,x),this.x=x;,class MapPoint:Point,public MapPoint(),System.Console.WriteLine(MapPoint,);,public static void Main(),MapPoint m1=new MapPoint();,例:,下列程序能否正常運(yùn)行?,23,class Point,public,int,x=0;,public,Point(int,x),this.x=x;,class MapPoint:Point,public,MapPoint(int,x),System.Console.WriteLine(MapPoint,);,public static void Main(),MapPoint m1=new MapPoint(10);,例:,下列程序能否正常運(yùn)行?,24,(8)base,關(guān)鍵字,通過,base,關(guān)鍵字在子類中訪問被隱藏的父類成員變量。,human h1=new human();,h1.changefatherdate();,System.Console.WriteLine(h1.age);,System.Console.WriteLine(h1.getfatherdate();,class living,public,int,age;,class human:living,new,public,int,age;,public void,changefatherdate,(),base.age=10;,public,int,getfatherdate,(),return base.age;,25,注意:,在靜態(tài)方法中不能使用,base。,因為通過,base,可以在子類中直接訪問被隱藏的父類成員,而靜態(tài)成員函數(shù)可以被所在類直接調(diào)用,并不需要創(chuàng)建一個對象。這意味著不用創(chuàng)建對象也可以訪問類的成員,這是不允許的。,26,在子類中可以通過,base,關(guān)鍵字,調(diào)用父類的構(gòu)造函數(shù)以初始化子類對象中繼承自父類的成員變量。,class Point,public,int,x=0;,public,Point(int,x),this.x=x;,System.Console.WriteLine(Point,);,class MapPoint:Point,public MapPoint(),:base(10),System.Console.WriteLine(MapPoint,);,public static void Main(),MapPoint m1=new MapPoint();,System.Console.WriteLine(m1.x);,27,8,.2 引用變量類型與所指對象類型不一致,class Living,public,int,age;,public void Eat(),System.Console.WriteLine,(,吃);,class Human:Living,public,int,money;,public void Read(),System.Console.WriteLine,(,看書);,28,(,1,)父類引用指向子類對象。,Living l1=new Human();,當(dāng)父類引用指向子類對象時,父類引用實際指向的是子類對象中隱含的父類對象。因而父類引用只能訪問子類對象中繼承自父類的成員。,l1,new,產(chǎn)生的,Human,對象,money,Read(),隱含的,Living,類對象,age,eat(),29,l1.Eat();,/,正確,System.Console.WriteLine(l1.age);,/,正確,l1.Read();,/,錯誤,(Human)l1).Read();,/,正確,對,l1,進(jìn)行強(qiáng)制類型轉(zhuǎn)換可使其調(diào)用,Read(),子類引用可以賦給父類引用,Human h1=new Human();Living l1=h1;,/,正確,l1,new,產(chǎn)生的,Human,對象,money,Read(),隱含的,Living,類對

    注意事項

    本文(使用C#進(jìn)行面向?qū)ο缶幊?第八章 繼承和多態(tài))為本站會員(fgh****35)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

    溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




    關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

    copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

    備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


    本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

    欧美久久久一区二区三区,国产精品亚洲一区二区无码,亚洲国产精品综合久久20声音,亚洲国产精品无码久久久蜜芽
    <span id="plx27"><var id="plx27"></var></span>
    <dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>