資源描述:
《實(shí)驗(yàn)5繼承與接口.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、實(shí)驗(yàn)5繼承與接口[實(shí)驗(yàn)?zāi)康模?、掌握java繼承中父類及其子類的定義方法。2、掌握子類重寫父類同名方法的方法.3、掌握接口的用法。(1)學(xué)習(xí)如何定義接口;(2)掌握接口的實(shí)現(xiàn)方式;(3)使用實(shí)現(xiàn)了接口的類;(4)理解接口與抽象類的區(qū)別。[實(shí)驗(yàn)要求]1、復(fù)習(xí)理論教學(xué)中所學(xué)的內(nèi)容。2、認(rèn)真進(jìn)行實(shí)驗(yàn)預(yù)習(xí),查閱參考書,書寫源程序,書寫實(shí)驗(yàn)預(yù)習(xí)報(bào)告。3、認(rèn)真總結(jié)實(shí)驗(yàn)并書寫實(shí)驗(yàn)報(bào)告。[實(shí)驗(yàn)課時(shí)]2學(xué)時(shí)[實(shí)驗(yàn)教學(xué)方式]學(xué)生上機(jī)實(shí)驗(yàn),教師隨堂指導(dǎo)。[實(shí)驗(yàn)內(nèi)容]1、類的繼承性練習(xí) 【新類可從現(xiàn)有的類中產(chǎn)生,并保留現(xiàn)有類的成員變量和方法并可根據(jù)需要對(duì)它們加以修改。新類還可添加新的
2、變量和方法.這種現(xiàn)象就稱為類的繼承。 當(dāng)建立一個(gè)新類時(shí),不必寫出全部成員變量和成員方法。只要簡(jiǎn)單地聲明這個(gè)類是從一個(gè)已定義的類繼承下來(lái)的,就可以引用被繼承類的全部成員。被繼承的類稱為父類或超類(superclass),這個(gè)新類稱為子類. Java提供了一個(gè)龐大的類庫(kù)讓開(kāi)發(fā)人員繼承和使用。設(shè)計(jì)這些類是出于公用的目的,因此,很少有某個(gè)類恰恰滿足你的需要。你必須設(shè)計(jì)自己的能處理實(shí)際問(wèn)題的類,如果你設(shè)計(jì)的這個(gè)類僅僅實(shí)現(xiàn)了繼承,則和父類毫無(wú)兩樣。所以,通常要對(duì)子類進(jìn)行擴(kuò)展,即添加新的屬性和方法.這使得子類要比父類大,但更具特殊性,代表著一組更具體的對(duì)象。繼承的意義就在
3、于此.】【】中的讀完刪掉不作為實(shí)驗(yàn)報(bào)告的一部分(一)創(chuàng)建將被繼承的類(1)程序源代碼如下. publicclassEXP3_7 { protectedStringxm;//姓名,具有保護(hù)修飾符的成員變量 protectedintxh;//學(xué)號(hào) voidsetdata(Stringxm,intxh)//設(shè)置數(shù)據(jù)的方法 { 此處添加所需代碼 } publicvoidprint()//輸出數(shù)據(jù)的方法 { System。out。println(xm+”,”+xh); } }(2)編譯源程序。publicclassEXP3
4、_7{protectedStringxm;//姓名,具有保護(hù)修飾符的成員變量protectedintxh;//學(xué)號(hào)voidsetdata(Stringxm,intxh)//設(shè)置數(shù)據(jù)的方法{this.xh=xh;this。xm=xm;}publicvoidprint()//輸出數(shù)據(jù)的方法{System。out.println(xm+",”+xh);}}(二)創(chuàng)建將被繼承的類(1)程序功能:通過(guò)EXP3_7類產(chǎn)生子類EXP3_8,其不僅具有父類的成員變量xm(姓名)、xh(學(xué)號(hào)),還定義了新成員變量xy(學(xué)院)、bj(bj)。在程序中調(diào)用了父類的print方法,同時(shí)
5、可以看出子類也具有該方法。(2)程序源代碼如下?! lassEXP3_8extendsEXP3_7{ 此處定義新的成員變量,均為protected類型 publicstaticvoidmain(Stringargs[]){ EXP3_7p1=newEXP3_7(); p1.setdata("李四”,12321); p1。print(); EXP3_8s1=newEXP3_8(); s1。setdata(”張三",12345);//調(diào)用父類的成員方法 s1.xy="山西大學(xué)計(jì)算機(jī)學(xué)院";//訪問(wèn)本類的成員變量 s
6、1。bj="2008級(jí)計(jì)算機(jī)科學(xué)與技術(shù)";//訪問(wèn)本類的成員變量 s1。print(); System。out.print(s1.xm+”,"+s1。xy+",”+s1。bj); } }(1)編譯并運(yùn)行,結(jié)果如圖3.7所示。classEXP3_8extendsEXP3_7{Stringxy;Stringbj;publicstaticvoidmain(Stringargs[]){EXP3_7p1=newEXP3_7();p1。setdata("李四",12321);p1。print();EXP3_8s1=newEXP3_8();s1。setdat
7、a(”張三”,12345);//調(diào)用父類的成員方法s1。xy=”山西大學(xué)計(jì)算機(jī)學(xué)院";//訪問(wèn)本類的成員變量s1。bj="2008級(jí)計(jì)算機(jī)科學(xué)與技術(shù)";//訪問(wèn)本類的成員變量s1.print();System。out。print(s1.xm+",”+s1.xy+”,”+s1。bj);}}李四,12321張三,12345張三,山西大學(xué)計(jì)算機(jī)學(xué)院,2008級(jí)計(jì)算機(jī)科學(xué)與技術(shù)運(yùn)行結(jié)果貼圖圖3.7(三)了解成員方法的覆蓋方式 【通過(guò)繼承子類可以繼承父類中所有可以被子類訪問(wèn)的成員方法,但如果子類的方法與父類方法同名,則不能繼承,此時(shí)稱子類的方法覆蓋了父類的方法,簡(jiǎn)稱為方
8、法覆蓋(override