《繼承和多態(tài)上》PPT課件.ppt

《繼承和多態(tài)上》PPT課件.ppt

ID:52372336

大?。?42.06 KB

頁數:41頁

時間:2020-04-05

《繼承和多態(tài)上》PPT課件.ppt_第1頁
《繼承和多態(tài)上》PPT課件.ppt_第2頁
《繼承和多態(tài)上》PPT課件.ppt_第3頁
《繼承和多態(tài)上》PPT課件.ppt_第4頁
《繼承和多態(tài)上》PPT課件.ppt_第5頁
資源描述:

《《繼承和多態(tài)上》PPT課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、Java語言概述1第六講繼承和多態(tài)(上)西亞斯學院計算機系姜斌2011年Java語言概述2課堂內容一、繼承的概念1、繼承涵義2、繼承定義,父類和子類定義3、繼承例子二、類庫繼承例子1、Object類2、例子三、擴展類1、繼承關系的語法定義2、屬性繼承和隱藏3、方法繼承,覆蓋和重載*4、子類中構造函數的使用四、Abstract繼承一、繼承涵義和定義1、涵義繼承(Inheritance):三大特性之一類之間的繼承關系是現實世界中遺傳關系的直接模擬,一方面,它表示類之間的擴展性的聯系以及對屬性和操作的共享,即子類可以沿用父類(被繼

2、承類)的某些特征。另一方面,子類也可以具有自己獨立的屬性和操作1、涵義事物之間最基本聯系:1)“ISA”關系繼承是一個“ISA”關系有時也稱為“普通”和“特殊”的聯系新擴展出來的類是原有類的某一個特例,可有一個或多個子類或擴展類存在繼承關系+move()-name:String-age:Integer-Color:String-Sex:CharAnimal+climb()+jump()feetNum-Cat+fly()wingNumBirdJava語言概述6組合關系2)“HASA”關系一個事物所具有其他事物其他事物是其組成部

3、分,這種一般稱為“組合”或“聚合”關系(要和繼承區(qū)別開)Java語言概述72、繼承定義繼承性是指一個新的類繼承原有類的基本特性,并增加新的特性;原有類稱為父類或基類,新的類稱為子類或擴展類。特征:軟件復用的一種形式。新類由已存在的類生成,可以不去從頭去定義一個新類;如果子類只從一個父類繼承,則稱為單繼承;如果子類從一個以上父類繼承,則稱為多繼承(在java中沒有多繼承,類似結構通過接口實現)。繼承關系是可以傳遞的,如左圖,E繼承C,而C繼承A,因而E也繼承了A,所以E也是A的子類,是間接子類,C是A的直接子類ClassCex

4、tendsAClassFimplementsC,D;ClassEimplementsB,D(C,B,D為接口類)Java語言概述93、繼承例子例3,飛機、汽車和輪船可歸于交通工具類,飛機/汽車/輪船可以繼承交通工具類某些屬性和操作,所以交通工具和飛行器/汽車/輪船之間是繼承關系例2,企業(yè)中員工可以有不同特殊員工,如經理是特殊的員工,所以,員工和經理類之間是繼承關系例1,動物有不同種類,例如:貓科類和鳥類,所以,動物和貓/鳥之間是繼承關系二、類庫繼承例子Java語言概述111.Object類-類中的“黃帝”是一個特殊的類,所有

5、類(包括類庫中的和用開發(fā)者創(chuàng)作的類都屬于其子類,并繼承其內容)Object類是所有類的根.每個類都以它來作為超類,所有的類,包括數組(arrays),都可實現覆蓋Object類中的方法.每個類都隱藏地擴展了此類,即等同于在類地聲明時加入,“extendsObject”Java語言概述12Object類的方法常用的方法:StringtoString()--輸出關于對象的描述信息,可以被覆蓋返回對象的字符串表示。Object的方法返回一個字符串、包含該對象的類名、一個@字符和實例散列碼(哈希)的十六進制表示。protectedO

6、bjectclone()創(chuàng)建并返回此對象的一個副本。(在子類中不要依賴Object的這個方法。)booleanequals(Objectobj)指示某個其他對象是否與此對象“相等”。(在子類中不要依賴Object的這個方法。)protected?voidfinalize()當垃圾回收器確定不存在對該對象的更多引用時,由對象的垃圾回收器調用此方法。ClassgetClass()返回一個對象的運行時類。InthashCode()返回該對象的哈希碼值。2、類庫類的繼承特例由于所有類都是由繼承java.lang.Object而來,所

7、以類庫的類都是Object的類的直接或間接子類。例如:java.lang.String直接繼承Objectjavax.swing.JOptionPane間接繼承Obejct用戶自定義類也直接或間接繼承Object3、定義思考我們定義的飛機類Plane,其實隱含繼承ObjectclassPlane[extendsObject]//系統在編譯時自動執(zhí)行例如可以在Plane類中我們定義有toString方法,這個實際繼承了覆蓋了父類Object同名方法;方法為:publicStringtoString(){return("spee

8、dis:"+speed+"lookis:"+look);}思考:如果我們不定義這個方法會怎么樣三、繼承的實現–定義擴展類Java語言概述17父類名跟在extends關鍵字后面,用來說明當前類是哪個已經存在類的子類,存在繼承關系。定義順序:1)定義父類“動物類”Animal;2)然后定義

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯系客服處理。