JAVA實(shí)驗(yàn)報(bào)告(圓類,動(dòng)物繼承,人類繼承)DOC_第1頁
JAVA實(shí)驗(yàn)報(bào)告(圓類,動(dòng)物繼承,人類繼承)DOC_第2頁
JAVA實(shí)驗(yàn)報(bào)告(圓類,動(dòng)物繼承,人類繼承)DOC_第3頁
JAVA實(shí)驗(yàn)報(bào)告(圓類,動(dòng)物繼承,人類繼承)DOC_第4頁
JAVA實(shí)驗(yàn)報(bào)告(圓類,動(dòng)物繼承,人類繼承)DOC_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Java程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告2014年10月17日姓名班級(jí)軟工班學(xué)號(hào)13139042課程Java語言程序設(shè)實(shí)驗(yàn)項(xiàng)目構(gòu)造方法與指導(dǎo)教師名稱計(jì)名稱繼承、實(shí)驗(yàn)?zāi)康?。編寫程序定義圓類Circle,把圓的性質(zhì)和行為用代碼塊封裝起來。圓的性質(zhì)包括圓的半徑,圓心坐標(biāo),行為包括計(jì)算圓面積,計(jì)算圓周長、設(shè)置半徑、獲取半徑、計(jì)算圓個(gè)數(shù)。實(shí)例化若干個(gè)圓對(duì)象,調(diào)用相應(yīng)方法計(jì)算出圓面積、圓周長并計(jì)圓個(gè)數(shù)。編程實(shí)現(xiàn)類的繼承。編寫父類People,子類Student繼承自人類。人類具有姓名,性別,年齡等性質(zhì),還具有吃和說的行為。學(xué)生類繼承父類,還擁有學(xué)號(hào)性質(zhì)和學(xué)習(xí)行為。構(gòu)造人類和學(xué)生類的對(duì)象,調(diào)用吃、說、學(xué)習(xí)的方法輸出有關(guān)信

2、息。使用Java的繼承關(guān)系來描述動(dòng)物世界的特征和關(guān)系。(1)抽象出項(xiàng)目問題中的對(duì)象:動(dòng)物、老鼠、熊貓。(2)抽象出每種對(duì)象所具有的性質(zhì):名字和食物。(3)抽象出每種對(duì)象所具有的行為,動(dòng)物具有吃的行為和睡覺的行為,老鼠除具有動(dòng)物行為外還具有打洞行為。(4)抽象出繼承關(guān)系,老鼠類和熊貓類作為子類繼承父類動(dòng)物類,子類繼承父類的屬性和方法。4定義汽車類,其中包含所有汽車共有的屬性如名字、排量、油耗、時(shí)速等,包含行為如點(diǎn)火、熄火、前進(jìn)、倒退、鳴笛等,然后在測(cè)試類中用定義的類來創(chuàng)建對(duì)象,輸出該對(duì)象的屬性和行為信息。5按以下要求編寫程序創(chuàng)建一個(gè)正方形類,添加正方形的邊作為成員變量在正方形類中添加兩種方法分別

3、計(jì)算正方形的周長和面積編程在測(cè)試類中輸出一個(gè)正方形的周長和面積二、實(shí)驗(yàn)原理(可以流程圖的形式出現(xiàn),加以文字說明)定義圓類Circle.(1)抽象出Circle類包含成員變量radius、x和y,它們的類型均為double,代表了圓的半徑和坐標(biāo)屬性。成員方法setRadius()、getRadius()、calcArea()、calcGirth(),分別實(shí)現(xiàn)設(shè)置半徑、返回半徑、計(jì)算面積、計(jì)算周長的行為。其中setRadius()方法用于給半徑賦值沒有返回值,類型為void。calcArea()、calcGirth()、getRadius()方法用于計(jì)算和返回半徑值,類型為double。(2)聲明

4、用于保存圓數(shù)量的成員變量num,由Circle類創(chuàng)建任意圓對(duì)象時(shí)num值均要加1。num變量應(yīng)該是被所有圓對(duì)象共享,所以使用static關(guān)鍵字聲明num為靜態(tài)變量。使用static聲明靜態(tài)方法getNum()用來返回num值,返回類型為int。具體聲明語句為:privatestaticintnum;publicstaticintgetNum()returnnum;(3)使用staticfinal關(guān)鍵字聲明靜態(tài)的符號(hào)常量PI(符號(hào)常量通常定義為大寫字母),并給其賦值為3.14159,該常量可以被所有Cirlce類的圓對(duì)象使用,具體聲明語句為:publicstaticfinaldoublePI=3

5、.14159;(4)定義兩個(gè)構(gòu)造方法,一個(gè)無參的構(gòu)造方法和一個(gè)帶參數(shù)構(gòu)造方法,其中帶參構(gòu)造方法對(duì)圓對(duì)象進(jìn)行初始化,將參數(shù)r傳遞給圓對(duì)象的成員變量radius,。無參構(gòu)造方法則不初始任何變量。若需要在圓對(duì)象被創(chuàng)建時(shí)將圓的數(shù)量num增加,可以在構(gòu)造方法里對(duì)num變量進(jìn)行增加。(5)程序的入口方法main,在該方法中實(shí)例化若干個(gè)圓對(duì)象,并調(diào)用該對(duì)象的setRadius()、getRadius()、calcArea()、calcGirth()、getNum()方法來輸出該對(duì)象的半徑、周長、面積屬性及圓個(gè)數(shù)。實(shí)現(xiàn)類的繼承.(1)人類是學(xué)生類的父類,人類具有姓名,性別,年齡等性質(zhì),學(xué)生類是人類的子類也具有

6、如上性質(zhì),并且學(xué)生類還具有學(xué)號(hào)這一特性。所以人所具有的共性都封裝在人類這一父類中,學(xué)生類不但繼承了人類的共性還具有自己的特有屬性學(xué)號(hào)。人類中具有了吃和說的行為,學(xué)生也繼承了這些行為,并且學(xué)生還具有了學(xué)習(xí)這行為。根據(jù)以上分析定義兩個(gè)類People和Student,People類包括成員變量name、sex、age屬性,成員方法eat()和speek()。其中name、sex、age屬性的訪問控制符定義為tected修飾的成員可以被本包中的類以及其子類繼承訪問。eat()、speek()方法的訪問控制符定義為public,public修飾的方法其訪問權(quán)限最大可以被所有類訪問。(2)使用extend

7、s關(guān)鍵字實(shí)現(xiàn)繼承,學(xué)生類繼承人類共有的屬性和方法,此外具有stuNo學(xué)號(hào)屬性和learn()學(xué)習(xí)方法。(3)父類People中定義的構(gòu)造方法負(fù)責(zé)對(duì)name、sex、age變量初始化,子類Student中定義構(gòu)造方法繼承父類構(gòu)造并對(duì)stuNo屬性初始化。在Student類的構(gòu)造方法的第一句使用super(name,sex,age)語句顯式調(diào)用父類構(gòu)造,保證父類構(gòu)造被調(diào)用之后再調(diào)用子類構(gòu)造。(4)編寫程序的入口方法main,在該方法中實(shí)例化人類對(duì)象和學(xué)生對(duì)象,并調(diào)用對(duì)象的相應(yīng)方法輸出信息。描述動(dòng)物世界的特征和關(guān)系.(1)動(dòng)物世界的名字和食物是共有的屬性,吃和睡覺是共有的行為。定義Animal類,在

8、該類中定義成員變量name和food,成員方法eat()和sleep()。根據(jù)封裝性的要求將name和food屬性定義為private私有的,保證該屬性只能被在本類內(nèi)部訪問,其他類或派生類要訪問該屬性可以通過public公有的方法setName()、getName()、setFood()、getFood()進(jìn)行訪問,其中setXXX()方法用于給屬性賦值,getXXX()方法用于返回屬性。(2)定義老鼠類Mouse和熊貓類Panda,這兩類均繼承自Animal類,繼承動(dòng)物類的name和food屬性以及eat()和sleep()方法。Mouse類和Panda類在構(gòu)造方法中調(diào)用setName()和

9、setFood()方法對(duì)名稱和食物屬性初始化。(3)老鼠類定義打洞方法dig()輸出信息。(4)定義測(cè)試類AnimalTest,編寫程序入口main()方法,在該方法中創(chuàng)建老鼠和熊貓對(duì)象,調(diào)用相應(yīng)方法輸出信息。4汽車的屬性和行為。(1)建立汽車類Car,汽車屬性:名字,排量,油耗,時(shí)速分別記作成員變量name,pailia,oilconsume,speed.均用private修飾。定義公共方法點(diǎn)火,熄火,前進(jìn),倒退,鳴笛分別為fire(),unfire(),go(),back(),whistle().(2)創(chuàng)建有參構(gòu)造函數(shù)car(Stringname,intpailia,intoilconsu

10、me,intspeed)初始化屬性,創(chuàng)建類事例car輸出屬性和行為。5.求正方形周長和面積。建立Square類,定義邊長為sl,用private修飾。創(chuàng)建方法grith()和are()分別求周長和面積。創(chuàng)建有參構(gòu)造方法square(intsl),初始化邊長,創(chuàng)建圓對(duì)象并輸出周長和面積。三、實(shí)驗(yàn)代碼定義圓類Circle.publicclassCircleprivatedoubleradius;/圓的半徑privatedoublex;橫坐標(biāo)privatedoubley;縱坐標(biāo)privatestaticintnum;/圓的個(gè)數(shù)privatestaticfinaldoublePI=3.14159;pu

11、blicdoublegetRadius()/返回半徑returnradius;publicvoidsetRadius(doubleradius)/設(shè)置半徑this.radius=radius;publicdoublecalcArea()/計(jì)算圓面積returnPl*this.radius*this.radius;publicdoublecalcGrith()/計(jì)算圓周長return2*PI*this.radius;publicstaticintgetNum()/返回圓的個(gè)數(shù)returnnum;publicCircle()無參數(shù)構(gòu)造方法num+;publicCircle(doubleradius

12、,doublex,doubley)/帶參數(shù)構(gòu)造方法if(radius0)System.out.println(半徑不可以為負(fù)數(shù)!);_(=r+()e(Do_eo.e(Duu+=-IsCm=)c_d.lno.22SAS_(=r+()sn_peE(D6.e(Duu+=-wM-呂C凰=)c匸d.lno.EPSAS_()_0o_eoz2ou+=-申晅呂CN凰=)u_c一d.lno.EPSAS_(=r+()e(Do_eoz(Duu+=-IsCN凰=)c一d.lno.EPSAS_(=r+()sn_peE(D6z(Duu+=-wM-呂CN凰=)c匸d.lno.EPSAS_()_0o_eQQ_ou+=-申晅呂

13、Lm=)u_c匸d.lno.EPSAS_(=r+()e(Do_eQL(Duu+=-IsLm=)c_d.lno.22SAS_(=r+()sn_peE(D6(Duu+=-wM-呂Lm=)c_d.lno.22SASe凰灰賤5二(Loe)(ouomcduhe(DuuDUO0凰聯(lián)灰賤5二(locn)(duomouhcn(duuduoL凰灰賤5=(Lu-sw0一-qnd-+lunu;HA.szlkHx.szlwn一peHsrqparszlSystem.out.println(圓3的周長:+circle3.calcGrith();System.out.println(圓的個(gè)數(shù):+Circle.getNum(

14、);實(shí)現(xiàn)類的繼承.classPeople/父類人protectedStringname;/姓名protectedStringsex;/性別protectedintage;/年齡protectedStringgetName()/返回姓名returnname;protectedvoidsetName(Stringname)/設(shè)置姓名=name;protectedStringgetSex()/返回性別returnsex;protectedvoidsetSex(Stringsex)/設(shè)置性別this.sex=sex;protectedlongstuNo;/學(xué)號(hào)protectedlonggetStuNo

15、()/返回學(xué)號(hào)returnstuNo;protectedvoidsetStuNo(longstuNo)/設(shè)置學(xué)號(hào)this.stuNo=stuNo;publicstaticvoidlearn()/學(xué)習(xí)方法System.out.println(我的學(xué)習(xí)方法!);publicStudent(Stringname,Stringsex,intage,longstuNo)/構(gòu)造方法super(name,sex,age);this.stuNo=stuNo;publicclassTestPeople/測(cè)試類publicstaticvoidmain(Stringargs)Studentstudent=newSt

16、udent(張一飛,”男,18,13130001);System.out.print(姓名:+student.getName()+);System.out.print(性別:+student.getSex()+);sys(DITI.OUr*pl12.(-#-=+scdenf.g2-Age()+-J八sysCDln.0s.pl12.(-Jln-=+scdenf.g2.scN0()+=)-peop-e.eaowpeop-e.speakowSHsfudenf.-eamo碰Mwc-assAnima-宀二劇莓privaCDShingnamewM411privaCDShingfoodw)4莓pub=cSh

17、inggezameo0褊回MMrecmnamepub=cvoidsezarme(s=ringname)宀二殆酈M411Hname;pub=cShinggemoodo0褊回肪莓ecmfood;pub=cvoids2.F00d(s=ringfood)宀二殆酈)4莓classPandaextendsAnimal/熊貓類publicPanda(Stringname,Stringfood)/構(gòu)造方法super(name,food);publicclassAnimalTest/測(cè)試類publicstaticvoidmain(Stringargs)Pandapanda=newPanda(熊貓,”竹葉);/實(shí)

18、例化熊貓System.out.print(名字:+panda.getName()+t);System.out.println(食物:+panda.getFood()+t);Panda.Eat();/吃Panda.Sleep();睡覺System.out.println();Mousemouse=newMouse(老鼠,”大米”);/實(shí)例化老鼠System.out.print(名字:+mouse.getName()+t);System.out.print(食物:+mouse.getFood()+t);Mouse.Eat();吃Mouse.Sleep();睡覺Mouse.dig();打洞4汽車的基

19、本屬性和行為.publicclassCar/汽車類privateStringname;/定義名字privateintpailia;/定義排量privateintoilconsume;/定義油耗privateintspeed;/定義時(shí)速publicStringgetName()/返回名字returnname;publicvoidsetName(Stringname)/設(shè)置名字=name;publicintgetPailia()/返回排量returnpailia;publicvoidsetPailia(intpailia)/設(shè)置排量this.pailia=pailia;publicintgetOi

20、lconsume()/返回油耗returnoilconsume;publicvoidsetOilconsume(intoilconsume)/設(shè)置油耗this.oilconsume=oilconsume;publicintgetSpeed()/返回時(shí)速returnspeed;publicvoidsetSpeed(intspeed)/設(shè)置時(shí)速this.speed=speed;publicstaticvoidfire()/點(diǎn)火TOC o 1-5 h zSystem.out.print(點(diǎn)火!”);publicstaticvoidoutfire()/熄火System.out.print(熄火!”);

21、publicstaticvoidgo()/前進(jìn)System.out.print(前進(jìn)!”);publicstaticvoidback()/倒退System.out.print(倒退!”);publicstaticvoidwhistle。/鳴笛System.out.print(鳴笛!”);publicCar(Stringname,intpailia,intoilconsume,intspeed)/構(gòu)造方法=name;this.pailia=pailia;this.oilconsume=oilconsume;this.speed=speed;Publicstaticvoidmain(Stringa

22、rgs)Carcar=newCar(寶馬,100,50,100);/實(shí)例化一個(gè)汽車System.out.println(汽車的屬性:);System.out.println();System.out.print(汽車品牌:+car.getName()+t);System.out.print(排量:+car.getPailia()+ml+t);System.out.print(油耗:+car.getOilconsume()+ml/h+t);System.out.println(時(shí)速:+car.getSpeed()+km/h);System.out.println();System.out.pri

23、ntln();System.out.println(汽車的行為:);System.out.println();publicSqure(intsi)/構(gòu)造方法this.sl=si;publicclassTest/測(cè)試類publicstaticvoidmain(Stringargs)Squres=newSqure(5);+s.grith()+t);System.out.print(”正方形邊長:+s.getSI()+t+周長System.out.println(”面積:+s.area();四、實(shí)驗(yàn)過程原始記錄(數(shù)據(jù)、圖表、計(jì)算等)注:此次報(bào)告沒有相關(guān)數(shù)據(jù),實(shí)驗(yàn)過程詳見第二部分實(shí)驗(yàn)原理。五、實(shí)驗(yàn)結(jié)果及分析,以及心得體會(huì)定義圓類Circle.62.8318125.6636188.4954Circle314.1591256.636227.431-MJsersSAdninistratnrDesktopjauacCircle.java的12300-面間面123半半蘭ti勺勺勺A-JnpAUUJnDJ-123.B00233圓圓圓心得體會(huì):主要是構(gòu)建3個(gè)對(duì)象,操作過程中,老是出現(xiàn)3個(gè)圓對(duì)象結(jié)果相同的情況,反復(fù)上機(jī)測(cè)試才發(fā)現(xiàn)

溫馨提示

  • 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)論