資源描述:
《Java繼承與多態(tài)實驗報告.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應用文檔-天天文庫。
1、西安郵電大學(計算機學院)課內(nèi)實驗報告實驗名稱:繼承與多態(tài)專業(yè)名稱:計算機科學與技術(shù)班級:計科1405班學生姓名:高宏偉學號:04141152指導教師:劉霞林實驗日期:2016.10.13一、實驗目的通過編程和上機實驗理解Java語言的繼承和多態(tài)特性,掌握變量的隱藏、方法的覆蓋、重載,掌握抽象類和接口的使用。二、實驗要求1.編寫體現(xiàn)類的繼承性(成員變量、成員方法、成員變量隱藏)的程序。2.編寫體現(xiàn)類的多態(tài)性(成員方法重載)的程序。3.編寫體現(xiàn)類的多態(tài)性(構(gòu)造方法重載)的程序。4.編寫使用接口的程序。三、實驗內(nèi)容(一)類的繼承1.創(chuàng)建公共類Student.(1)編寫程
2、序文件Student.java,源代碼如下:publicclassStudent{protectedStringname;//具有保護修飾符的成員變量protectedintnumber;voidsetData(Stringm,inth)//設置數(shù)據(jù)的方法{name=m;number=h;}publicvoidprint()//輸出數(shù)據(jù)的方法{System.out.println(name+","+number);}}(2)編譯Student.java,產(chǎn)生類文件Student.class。2.創(chuàng)建繼承的類Undergraduate(1)程序功能:通過Student
3、類產(chǎn)生子類undergraduate,其不僅具有父類的成員變量name(姓名)、number(學號),還定義了新成員變量academy(學院)、department(系)。在程序中調(diào)用父類的print方法。(2)編寫Undergraduate程序:classUndergraduateextendsStudent{【代碼1】//定義成員變量academy【代碼2】//定義成員變量departmentpublicstaticvoidmain(Stringargs[]){【代碼3】//創(chuàng)建一個學生對象s【代碼4】//用父類的setData方法初始化對象s【代碼5】//對象
4、s調(diào)用print方法【代碼6】//創(chuàng)建一個大學生對象u【代碼7】//調(diào)用父類的成員方法setData初始化對象u【代碼8】//設置對象u的成員變量academy【代碼9】//設置對象u的成員變量departmentSystem.out.print(u.name+","+u.number+","+u.academy+","+u.department);}}(3)編譯并運行程序注意:公共類Student與undergraduate類要在同一文件夾(路徑)內(nèi)。(二)方法的重載(1)程序功能:對不同的數(shù)進行排序輸出。在IntSort類中定義3個同名的方法sort。(2)編寫
5、Sort.java文件,源代碼如下。importjava.awt.Graphics;importjava.applet.Applet;classIntSort{publicStringsort(inta,intb){if(a>b)returna+""+b;elsereturnb+""+a;}publicStringsort(inta,intb,intc){intswap;if(a
6、c;}publicStringsort(intarr[]){Strings="";intswap;for(inti=0;iarr[j+1]){swap=arr[j];arr[j]=arr[j+1];arr[j+1]=swap;}for(inti=0;i7、nt(Graphicsg){inta=30,b=12,c=40;intarr[]={34,8,12,67,44,98,52,23,16,16};g.drawString("兩個數(shù)的排序結(jié)果:"+s.sort(a,b),30,30);g.drawString("三個數(shù)的排序結(jié)果:"+s.sort(a,b,c),30,60);g.drawString("數(shù)組的排序結(jié)果:"+s.sort(arr),30,90);}}(3)編譯并運行程序(4)編寫Sort類文件的頁面文件sort.html