資源描述:
《類的繼承與多態(tài)java》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、實(shí)驗(yàn)四類的繼承與多態(tài)謝先斌一、實(shí)驗(yàn)?zāi)康?.掌握構(gòu)造方法和成員方法重載的應(yīng)用。2.理解類的繼承性的作用3.領(lǐng)會(huì)面向?qū)ο缶幊痰亩鄳B(tài)性。二、實(shí)驗(yàn)內(nèi)容與要求1、定義一個(gè)圓類Circle,成員變量:半徑radius;成員方法:構(gòu)造方法、get和set半徑的方法、計(jì)算面積和周長(zhǎng)的方法。定義圓柱和圓錐類,定義相應(yīng)的變量成員和成員方法。使用以上類編程,輸出圓柱和圓錐面積和體積。importjava.util.Scanner;publicclassTheCircles{publicstaticvoidmain(String[]args){Scannerinput=new
2、Scanner(System.in);inth,r;System.out.print("請(qǐng)輸入圓的半徑:");r=input.nextInt();Circlec=newCircle();c.set(r);System.out.println("圓的半徑為:"+c.get()+"圓的面積為:"+c.area()+"圓的周長(zhǎng)為:"+c.circum()+"");System.out.print("請(qǐng)輸入圓柱的低面半徑h=");h=input.nextInt();System.out.print("請(qǐng)輸入圓柱的高r=");r=input.next
3、Int();Cylincy=newCylin(r,h);System.out.println("圓柱的表面積為:"+cy.area()+"體積為:"+cy.Volume()+"");System.out.print("請(qǐng)輸入圓錐的低面半徑h=");h=input.nextInt();System.out.print("請(qǐng)輸入圓錐的高r=");r=input.nextInt();Coneco=newCone(r,h);System.out.println("圓柱的表面積為:"+co.area()+"體積為:"+co.Volume()+""
4、);}}classCircle{intradius;publicCircle(){}publicCircle(intradius){this.radius=radius;}publicvoidset(intradius){this.radius=radius;}publicintget(){returnradius;}//求面積publicdoublearea(){returnMath.PI*radius*radius;}//求周長(zhǎng)publicdoublecircum(){returnMath.PI*radius*2;}}//定義圓柱類classCyl
5、inextendsCircle{intheight;//構(gòu)造函數(shù)publicCylin(intradius,intheight){super(radius);this.height=height;}//求表面積publicdoublearea(){returnMath.PI*radius*radius+2*Math.PI*radius*height;}//求體積publicdoubleVolume(){returnMath.PI*radius*radius*height;}}//定義圓錐類classConeextendsCircle{intheight
6、;//構(gòu)造器publicCone(intradius,intheight){super(radius);this.height=height;}//求表面積publicdoublearea(){doublelength;length=Math.sqrt(height*height+radius*radius);returnMath.PI*radius*radius+Math.PI*(2*Math.PI*radius)*length;}//求體積publicdoubleVolume(){returnMath.PI*radius*radius*height
7、/3;}}2、聲明一個(gè)類MyClass,包含一個(gè)整型變量data和封裝這個(gè)變量的兩個(gè)方法getData()和setData()。聲明一個(gè)該類的子類SubClass,包含一個(gè)整型變量Mydata和封裝這個(gè)變量的兩個(gè)方法getMydata()和setMydata(),編寫主程序檢查SubClass類中的所有變量與方法(包括繼承自父類的變量和方法。提示:參照下頁(yè)的源程序。importjava.util.*;publicclassTheClass{publicstaticvoidmain(String[]args){intn;Scannerin=newScan
8、ner(System.in);System.out.print("請(qǐng)輸入一個(gè)n:");n=in