資源描述:
《繼承和接口的實驗報告(1)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、深圳大學實驗報告課程名稱:JAVA程序設計實驗項目名稱:繼承和接口學院:計算機與軟件學院專業(yè):指導教師:楊芳報告人:姜鵬樂學號:2013150027班級:01實驗時間:2014-10-22實驗報告提交時間:2014-10-22教務處制-10-一、實驗目的(1)理解繼承的概念,掌握繼承的語法;(2)學習定義和使用子類;(3)學習定義和使用抽象類;(4)學習定義和使用接口;(5)學習實現(xiàn)接口;(6)掌握繼承過程中的方法覆蓋,區(qū)分它與方法重載的不同;(7)掌握如何利用接口間接實現(xiàn)多重繼承;(8)掌握對象類型之間的轉(zhuǎn)換規(guī)則
2、;(9)掌握多態(tài)與動態(tài)綁定。二、實驗內(nèi)容本次實驗內(nèi)容有兩題:第一題:基礎題(1):編寫類Computer,使之擁有方法f1和f2(方法自行定義,比如f1()方法可以是簡單地輸出一行:System.out.println(“調(diào)用Computer的方法f1()”)。),并在子類Desktop和Notebook中覆蓋這些方法(比如Desktop的f1()方法可以為:System.out.println(“調(diào)用Desktop的方法f1()”)。)。在main方法中利用對象類型轉(zhuǎn)換將類Desktop和Notebook的對象分別
3、賦值給類Computer對象,應用多態(tài)調(diào)用這些方法。(2):修改(1),將類Computer聲明為抽象類。(3):修改(2),將類Computer定義為接口。第二題:應用題請設計3個類,分別是學生類Student,本科生類Undergraduate,研究生類Postgraduate,其中Student類是一個抽象類,它包含一些基本的學生信息如姓名、類別、所學課程(這里假定為3門課),各課程成績等,而Undergraduate類和Postgraduate都是Student類的子類,它們之間的主要差別是計算3門課程平均成
4、績的等級的方法有所不同,研究生的標準要比本科生的標準高一些,如下表所示:本科生標準研究生標準80~100優(yōu)秀90~100優(yōu)秀70~80良好80~90良好60~70一般70~80一般50~60及格60~70及格50以下不及格60以下不及格假設某班級里既有本科生(3個)也有研究生(2個),請編寫程序統(tǒng)計全班學生的成績等級并顯示出來。測試數(shù)據(jù)為:張三本科生90,95,100李四本科生80,85,90王五研究生82,85,88趙六本科生75,82,87陳七研究生80,82,84-10-假設運行結(jié)果如下所示:姓名類型成績張三本
5、科生優(yōu)秀李四本科生優(yōu)秀王五研究生良好趙六本科生優(yōu)秀陳七研究生良好(提示:關鍵是設計一個學生數(shù)組,既能存放本科生對象,又能存放研究生對象。)三、程序清單第一題:(1)classComputer{publicvoidf1(){System.out.println("Iamcomputer.");}publicvoidf2(){System.out.println("Iamcomputer,too.");}}classDesktopextendsComputer{publicvoidf1(){System.out.prin
6、tln("IamDesktop.");}publicvoidf2(){System.out.println("IamDesktop,too.");}}classNotebookextendsComputer{publicvoidf1(){System.out.println("IamNotebook.");}publicvoidf2(){System.out.println("IamNotebook,too.");}-10-}classMain{publicstaticvoidmain(String[]args){C
7、omputerC=newComputer();DesktopB=newDesktop();NotebookN=newNotebook();C.f1();C.f2();B.f1();B.f2();N.f1();N.f2();}}(2)abstractclassComputer{abstractvoidf1();01abstractvoidf2();}classDesktopextendsComputer{voidf1(){System.out.println("IamDesktop.");}voidf2(){Syste
8、m.out.println("IamDesktop,too.");}}classNotebookextendsComputer{voidf1(){System.out.println("IamNotebook.");}voidf2(){System.out.println("IamNotebook,too.");}}classMain{publ