實驗報告二java類的封裝、繼承、多態(tài)

實驗報告二java類的封裝、繼承、多態(tài)

ID:35342229

大?。?8.10 KB

頁數:5頁

時間:2019-03-23

實驗報告二java類的封裝、繼承、多態(tài)_第1頁
實驗報告二java類的封裝、繼承、多態(tài)_第2頁
實驗報告二java類的封裝、繼承、多態(tài)_第3頁
實驗報告二java類的封裝、繼承、多態(tài)_第4頁
實驗報告二java類的封裝、繼承、多態(tài)_第5頁
資源描述:

《實驗報告二java類的封裝、繼承、多態(tài)》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。

1、Java實驗二類的封裝、繼承、多態(tài)一?實驗目的1.復習、理解OOP的三大特征——封裝、繼承和多態(tài)。2.學會使用Java編寫簡單的類。理解類的屬性和方法。3?掌握關鍵字private,protected,public的作用,掌握靜態(tài)類,內部類的概念。4.掌握多態(tài)的概念。二.實驗內容2.1程序要求1.分別編寫兩個類Point2D,Point3D來表示二維空間和三維空間的點,使之滿足下列要求:(1)Point2D有兩個整型成員變量x,y(分別為二維空間的XZY方向坐標),Point2D的構造方法要實現(xiàn)對其成員變量x,y的初始化。(2)Point2D有一個voi

2、d型成員方法offset(inta,intb),它可以實現(xiàn)Point2D的平移。(3)Point3D是Point2D的直接子類,它有有三個整型成員變量x,y,z(分別為三維空間的X,Y,Z方向坐標),Point3D有兩個構造方法:Point3D(intxjntyzintz)和Point3D(Point2Dpjntz)z兩者均可實現(xiàn)對Point3D的成員變量x,yzz的初始化。(4)Point3D有一個void型成員方法offset(inta,intbjntc),該方法可以實現(xiàn)Point3D的平移。(5)在Point3D中的主函數main()中實例化兩個P

3、oint2D的對象p2dl,p2d2,打印出它們之間的距離,再實例化兩個Point3D的對象p3dlzp3d2,打印出他們之間的距離。提示:java.lang..Math.sqrt()方法2?創(chuàng)建一個數組,隨機生成Point2D或者Point3D的對象放于其中。最后依次調用數組中每個對象的〃打印方法",顯示數組中存儲的對象是什么。提示:java.lang..Math.random()方法或者java.util.Random類2.2設計工作設計思路:構造Point2D類z私有成員x,y存放2D點位置坐標z構造函數傳入坐標值。Offset。函數平移2D點,g

4、et_x()zget_y()分別返回xzy坐標。PrintQ函數打印2D點坐標。再構造繼承了2D類的Point3D類,將上述2D點函數覆蓋擴充到3DO創(chuàng)建Point2D的對象數組,存放隨機產生的Point2D或Point3D對象。用java.util.Random方法產生隨機數。類圖:point2D:Protectedintx,y;〃變量Point2D(intx,inty);〃構造方法Voidoffest(inta,intb);〃位移2DIntget_x();Intget_y();Voidprint();Point3DIntz;〃變量Point3D(in

5、tx,inty,intz);〃構造方法Point3D(point2Dp,intz);〃構造方法Voidoffest(inta,intb,intc);〃位移3DIntget_z();Voidprint();Point2D代碼:classPoint2D{protectedintx,y;Point2D(intX^intY){x=X;y=Y;}voidoffsea,intb){x+=a;y+=b;}intget_x(){returnx;}intget_y(){returny;}voidprint(){System.out.printIn(”坐標為:"+this?

6、get_x()+""+this?get_y());}_Point3D代碼:classPoint3D{protectedintx,y,z;Point3D(intX^intY,intZ){x=X;y=Y;z二Z;}voidoffset(inta,intb,intc){super(aJb);z+=c;}intget_x(){returnx;}intget_y(){returny;}intget_z(){returnz;}voidprint(){System.oL/t.printIn(”坐標為:H+this?get_x()+H"+this?get_y()+nn+

7、this.get_z());}}三?思考題1?什么是類的多態(tài)性。同一操作作用于不同的對象/可以有不同的解釋/產生不同的執(zhí)行結果/這就是多態(tài)性。?編譯時的多態(tài)性:編譯時的多態(tài)性是通過重載來實現(xiàn)的。對于非虛的成員來說,系統(tǒng)在編譯時,根據傳遞的參數、返回的類型等信息決定實現(xiàn)何種操作。?運行時的多態(tài)性:運行時的多態(tài)性就是指直到系統(tǒng)運行時,才根據實際情況決定實現(xiàn)何種操作。四.程序代碼importjava.util.Scanner;〃導入util包中的Scarmnci?類classPoint2D{protectedintx,y;Point2D(intX,intY){

8、〃冇參數的構造方法x=X;y=Y;}voidoffset(inta,intb){

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。