面向?qū)ο髮?shí)驗(yàn)內(nèi)容_第1頁
面向?qū)ο髮?shí)驗(yàn)內(nèi)容_第2頁
面向?qū)ο髮?shí)驗(yàn)內(nèi)容_第3頁
面向?qū)ο髮?shí)驗(yàn)內(nèi)容_第4頁
面向?qū)ο髮?shí)驗(yàn)內(nèi)容_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

卷面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)報(bào)告學(xué)號(hào):410065姓名:紀(jì)啥曄提交日期:2012.10.14成績:東北大學(xué)秦皇島分校實(shí)驗(yàn)一類與對(duì)象一、 實(shí)驗(yàn)?zāi)康恼莆疹惖穆暶?。掌握?duì)象的創(chuàng)建。掌握方法的定義和調(diào)用。掌握構(gòu)造函數(shù)的使用。二、 實(shí)驗(yàn)內(nèi)容編程創(chuàng)建一個(gè)Box類,在其中定義三個(gè)變量表示一個(gè)立方體的長、寬和高,再定義一個(gè)方法setDemo對(duì)這三個(gè)變量進(jìn)行初始化,然后定義一個(gè)方法求立方體的體積。創(chuàng)建一個(gè)對(duì)象,求給定尺寸的立方體的體積。具體代碼如下:publicclassbox(doublelongth,weigth,heigth;voidsetDemo(doublel,doublew,doubleh)(longth=l;weigth=w;heigth=h;System.out.printlnC長:〃+l+〃〃+〃寬:〃+w+〃〃+〃高:〃+h);}voidgetV(doublel,doublew,doubleh)(v=l*w*h;System.out.println(〃V=〃+v);}publicstaticvoidmain(String[]args)(boxb=newbox();b.setDemo(8,4,5);b.getV(8,4,5);}}將上題的方法setDemo改用構(gòu)造函數(shù)實(shí)現(xiàn)初始化。具體代碼如下:publicclassBox1(doublelongth,weigth,heigth;Box1(doublel,doublew,doubleh)(longth=l;weigth=w;heigth=h;System.out.println(〃長:〃+l+〃〃+〃寬:〃+w+〃〃+〃高:〃+h);}voidgetV(doublel,doublew,doubleh)(v=l*w*h;System.out.println(〃V=〃+v);}publicstaticvoidmain(String[]args)(Box1b=newBox1(7,8,9);b.getV(7,8,9);}}三、思考題一個(gè)方法或一個(gè)塊內(nèi)定義的變量是否可以在方法外或塊外使用?這種變量稱為什么?方法的形式參數(shù)是否可以在方法之外使用?為什么說構(gòu)造函數(shù)是一種特殊的方法?特殊在哪里?構(gòu)造函數(shù)什么時(shí)候執(zhí)行?被誰調(diào)用?編程創(chuàng)建一個(gè)Point類,在其中定義兩個(gè)變量表示一個(gè)點(diǎn)的坐標(biāo)值,再定義構(gòu)造函數(shù)初始化為坐標(biāo)原點(diǎn),然后定義一個(gè)方法實(shí)現(xiàn)點(diǎn)的移動(dòng),再定義一個(gè)方法打印當(dāng)前點(diǎn)的坐標(biāo)。并創(chuàng)建一個(gè)對(duì)象驗(yàn)證。提示:關(guān)鍵代碼如下:voidmove(intnewX,intnewY){x=newX;y=newY;}voidprint(){System.out.println(name+":x="+x+"y="+y);}…p.print();p.move(50,50);System.out.println("**aftermoving**");p.print();//callmethodofanobject定義一個(gè)類實(shí)現(xiàn)銀行帳戶的概念,包括的變量有“帳號(hào)”和“存款余額”,包括的方法有“存款”、“取款”和“查詢余額”。定義主類,創(chuàng)建帳戶類的對(duì)象,并完成相應(yīng)操作。提示:關(guān)鍵代碼如下:publicintgetleftmoney(){returnleftmoney;}publicvoidsavemoney(doublemoney){leftmoney+=money;}publicvoidgetmoney(doublemoney){if(money<=leftmoney)leftmoney-=money;elseSystem.out.println("只能取:"+leftmoney);}…bankaccountba=newbankaccount(123456,1000);ba.savemoney(2000);System.out.println("存入2000元后余額為:"+ba.getleftmoney());ba.getmoney(1500);System.out.println("1500元后余額為:"+ba.getleftmoney())實(shí)驗(yàn)二繼承與多態(tài)一、 實(shí)驗(yàn)?zāi)康恼莆疹惖睦^承方法。掌握變量的繼承和覆蓋。掌握方法的繼承、重載和覆蓋。了解接口的實(shí)現(xiàn)方法。二、 實(shí)驗(yàn)內(nèi)容運(yùn)行下面的程序,理解成員變量的繼承與隱藏。importjava.io.*;classsum_3(intsum,num1,num2;staticintnum3;〃定義構(gòu)造函數(shù)初始化對(duì)象sum_3()(num1=0;num2=0;num3=0;sum=0;}}classsub_sum3extendssum_3(intsum,num1,num2;〃隱藏父類sum_3中的實(shí)例變量staticintnum3;〃隱藏父類sum_3中的類變量voidsum(inti,intj,intk)(num1=i;num2=j;num3=k;sum=num1+num2+num3;}}publicclasscomputing(publicstaticvoidmain(Stringarg[])(sub_sum3m1=newsub_sum3();m1.sum(100,200,300);System.out.println("sum="+m1.num1+"+"+m1.num2+"+"+m1.num3+"="+m1.sum);}}運(yùn)行下面的程序,理解方法的繼承。classSort3(doublemax1,max2,max3;Sort3()(max1=-1;max2=-1;max3=-1;}voidsort()(doubles;if(max1<max2)(s=max1;max1=max2;max2=s;}if(max1<max3)(s=max1;max1=max3;max3=s;}if(max2<max3)(s=max2;max2=max3;max3=s;}}}classsub_Sort3extendsSort3(voidsubsort(doublei,doublej,doublek)(max1=i;max2=j;max3=k;sort();〃調(diào)用父類中的方法sort()}}publicclassClass1(publicstaticvoidmain(Stringargs[])(sub_Sort3m1=newsub_Sort3();m1.subsort(100,200,300);System.out.println("三個(gè)數(shù)從大到小為:"+m1.max1+","+m1.max2+","+m1.max3);}}運(yùn)行下面的程序,理解方法的重載。classSort2or3(doublemax1,max2,max3;Sort2or3()(max1=-1;max2=-1;max3=-1;}voidsort(doublei,doublej)(doubles;max1=i;max2=j;if(max1<max2)(s=max1;max1=max2;max2=s;}}voidsort(doublei,doublej,doublek)(doubles;max1=i;max2=j;max3=k;if(max1<max2)(s=max1;max1=max2;max2=s;}if(max1<max3)(s=max1;max1=max3;max3=s;}if(max2<max3)(s=max2;max2=max3;max3=s;}}}publicclassClass1(publicstaticvoidmain(Stringargs[])(Sort2or3m1=newSort2or3();m1.sort(100,200);System.out.println("兩個(gè)數(shù)從大到小為:"+m1.max1+","+m1.max2);m1.sort(50,150,100);System.out.println("三個(gè)數(shù)從大到U小為:"+m1.max1+","+m1.max2+","+m1.max3);}}運(yùn)行下面的程序,理解方法的覆蓋。classsort_Demo(inti,j,k,swap;sort_Demo()(i=j=k=swap=0;}voidsort(intt1,intt2[])( 〃父類中的方法用來實(shí)現(xiàn)升序〃用選擇法按升序排列for(i=0;i<t1-1;i++){k=i;for(j=i+1;j<t1;j++)if(t2[j]<t2[k])k=j;if(k!=i){swap=t2[i];t2[i]=t2[k];t2[k]=swap;}}}}classsub_sort_Demoextendssort_Demo{voidsort(intt1,intt2[]){ 〃子類中的方法實(shí)現(xiàn)降序〃用選擇法實(shí)現(xiàn)降序排列for(i=0;i<t1-1;i++){k=i;for(j=i+1;j<t1;j++)if(t2[j]>t2[k])k=j;if(k!=i){swap=t2[i];t2[i]=t2[k];t2[k]=swap;}}}}publicclassClass1{publicstaticvoidmain(Stringargs[]){inta[]={34,12,8,67,88,23,98,101,119,56};sort_Demom1=newsort_Demo();sub_sort_Demom2=newsub_sort_Demo();System.out.println("排序前的數(shù)據(jù)為:");for(inti=0;i<10;i++)System.out.print(""+a[i]);〃調(diào)用父類中的sotr()方法m1.sort(a.length,a);System.out.println("\n按升序排列的數(shù)據(jù)為:");for(inti=0;i<10;i++)System.out.print(""+a[i]);〃調(diào)用子類中的sort()方法,該方法實(shí)現(xiàn)了對(duì)父類中方法的覆蓋m2.sort(a.length,a);System.out.println("\n按降序排列的數(shù)據(jù)為:");for(inti=0;i<10;i++)System.out.print(""+a[i]);}}定義兩個(gè)接口,其方法協(xié)議分別完成兩個(gè)數(shù)的加法和減法操作,然后創(chuàng)建一個(gè)類實(shí)現(xiàn)這兩個(gè)接口的方具體代碼如下:packageAAA;publicinterfaceComputablel(doubleadd(doublea,doubleb);}packageAAA;publicinterfaceComputable2(doublesub(doublec,doubled);}packageAAA;publicclassComputableimplementsComputable1,Computable2{publicdoubleadd(doublea,doubleb){doublem=a+b;returnm;}publicdoublesub(doublec,doubled){doublet=c-d;returnt;}}packageAAA;publicclassCompute{publicstaticvoidmain(String[]args){ComputableL=newComputable();doublea=5;doubleb=3;doublec=8;doubled=2;System.out.println(〃a+b=〃+L.add(a,b));Syste

溫馨提示

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

評(píng)論

0/150

提交評(píng)論