資源描述:
《實(shí)驗(yàn)5 繼承、多態(tài)、接口和異常處理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實(shí)驗(yàn)5繼承、多態(tài)、接口和異常處理一、實(shí)驗(yàn)?zāi)康?、掌握J(rèn)ava的類和對(duì)象的聲明和使用方法2、掌握J(rèn)ava的類的繼承和實(shí)現(xiàn)方法;3、掌握多態(tài)性在類的繼承中的運(yùn)用;4、掌握接口的定義與使用。5、掌握基本異常的處理機(jī)制6、熟悉try語句與catch語句的搭配使用7、了解有異常處理與沒有異常處理的差別8、多重catch語句的使用9、使用Throws聲明異常和Throw拋出異常二、實(shí)驗(yàn)環(huán)境1、PC微機(jī);2、DOS操作系統(tǒng)或Windows操作系統(tǒng);3、Javasdk程序開發(fā)環(huán)境、eclipse集成環(huán)境。三、實(shí)驗(yàn)內(nèi)容1.設(shè)計(jì)三個(gè)類,分別是學(xué)生類Student,本科生類UnderGraduate,研究生類Pos
2、tjgraduate,其中Student類是一個(gè)抽象類,它包含學(xué)生的基本信息如姓名、所學(xué)課程、課程成績(jī)等,而Undergraduate類和Postgraduate類都是Student類的子類,這兩個(gè)類計(jì)算課程成績(jī)等級(jí)的方法有所不同,如下表所示。假設(shè)某班級(jí)里既有研究生又有本科生,編寫程序統(tǒng)計(jì)出全班學(xué)生的成績(jī)等級(jí)并打印出來。要求:將程序空白部分補(bǔ)充完整。本科生標(biāo)準(zhǔn)研究生標(biāo)準(zhǔn)80~100優(yōu)秀90~100優(yōu)秀70~80良好80~90良好60~70一般70~80一般50~60及格60~70及格50以下不及格60以下不及格abstractclassStudent{finalstaticintCourseN
3、o=3;Stringname;Stringtype;int[]courses;StringcourseGrade;publicStudent(Stringname){this.name=name;courses=newint[CourseNo];代碼1courseGrade="";//初始化courseGrade為空串}publicabstractvoidcalculateGrade();publicStringgetName(){returnname;}publicStringgetType(){代碼2returntype;//返回學(xué)生類型}publicStringgetCourseGrad
4、e(){returncourseGrade;}publicintgetCourseScore(intcourseNumber){returncourses[courseNumber];}publicvoidsetName(Stringname){this.name=name;}publicvoidsetType(Stringtype){this.type=type;}publicvoidsetCourseScore(intcourseNumber,intcourseScore){代碼3this.courses[courseNumber]=courseScore;//按課程索引號(hào)設(shè)置課程成績(jī)}}
5、classUndergraduateextendsStudent{publicUndergraduate(Stringname){super(name);type="本科生";}publicvoidcalculateGrade(){inttotal=0;doubleaverage=0;for(inti=0;i=80&&average<100)courseGrade="優(yōu)秀";elseif(average>=70&&average<8
6、0)courseGrade="良好";elseif(average>=60&&average<70)courseGrade="一般";elseif(average>=50&&average<60)courseGrade="及格";elsecourseGrade="不及格";}}classPostgraduateextendsStudent{publicPostgraduate(Stringname){super(name);type="研究生";}publicvoidcalculateGrade(){inttotal=0;doubleaverage=0;for(inti=0;i7、o;i++){total+=courses[i];};average=total/CourseNo;if(average>=90&&average<100)courseGrade="優(yōu)秀";elseif(average>=80&&average<90)courseGrade="良好";elseif(average>=70&&average<80)courseGrade="一般";elseif(av