




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗五方法的重載和靜態成員【實驗目的】1.鞏固掌握構造方法的作用和定義;2.掌握方法重載的意義和實現方式;3.掌握靜態成員的使用方法?!緦嶒灉蕚洹繌土暸涮捉滩南嚓P章節的內容;【實驗內容】項目一:1.定義一個游戲中Hero英雄的類,在該類中定義英雄的名字,生命值和等級3個屬性,定義一個無參構造方法完成對名字、生命值和等級的初始化,分別賦初值為“無名英雄”、100和1。同時實現名字和英雄信息的輸出。publicclassHeroStringname;inthealthPower=100;intgrade;publicHero()="無名英雄"this.heal
2、thPower=100;this.grade=1;voidshowInfo()System.out.println("英雄信息");System.out.println("名字:"+this.healthPower);System.out.println("生命值:"+this.healthPower);System.out.println("類型:"+this.grade);2.在上一步的基礎上,為英雄再定義擁有一個參數的構造方法,第一個參數傳入英雄的名字,第二個參數傳入一個英雄類型的值,如果為1,則為普通英雄,
3、生命值為100;如果該值為2,則為高級英雄,生命值初始化為200;如果該值為3,則為超級英雄,生命值初始化為300。publicHero(Stringname,intgrade)=name;if(grade=3)this.healthPower=300;this.grade=3;elseif(grade=2)this.healthPower=200;this.grade=2;elsethis.healthPower=100;this.grade=1;3.為英雄添加一個基本戰斗的方法,該方法擁有一個英雄類型的參數,當傳入另一個英雄時,能降低對方10點血。再增加一個絕招戰斗的重載
4、方法,加入一個絕招類型參數,通過輸入不同絕招參數,降低對方不同的血量(這里簡化為:1,多殺傷3點血,2,多殺傷6點血,3,多殺傷10點血)。voidfight(Heroopponent)opponent.healthPower-=10;voidfight(Heroopponent,intskill)opponent.healthPower-=10;if(skill=3)opponent.healthPower-=10;elseif(skill=2)opponent.healthPower-=6;elseif(skill=1)opponent.healthPower-=3;4.在主類的主方法中編
5、寫代碼,測試。publicstaticvoidmain(Stringargs)/TODOcodeapplicationlogichereHerosuperHero=newHero("蜘蛛俠",3);Heroopponent=newHero();/對手opponent.showInfo();superHero.fight(opponent);opponent.showInfo();superHero.fight(opponent,2);opponent.showInfo();項目二:設計一個BankAccount類,實現銀行某賬號的資金往來賬目管理,包括建賬號、存入、取出等。
6、BankAccount類包括,賬號(BankAccountId)、開戶日期Date(日期),Rest(余額)。有一個構造方法和三個實例方法Bankin()(處理存入賬),Bankout()(處理取出賬)和一個負責生成賬號的自動增長的方法(構造方法中調用),另有一個靜態方法實現輸出,以供存取帳時調用。BankAccount類:publicclassBankAccountstaticlongbankAccountIdSpeed=600000000000000000l;StringbankAccountId;Stringdate;floatrest;publicBankAccount(Stringd
7、ate,floatrest)bankAccountId=this.createBankAccount();this.date=date;this.rest=rest;StringcreateBankAccount()bankAccountIdSpeed+;returnString.valueOf(bankAccountIdSpeed);voidBankIn(floatrest)/存錢prt("存款前余額:"+this.rest);this.rest+=rest;prt("存款后余額:"+this.rest);voidBankOut(floatrest)/
8、取錢prt("取款前余額:"+this.rest);this.rest-=rest;prt("取款前余額:"+this.rest);voidshowBankInfo()prt("帳號:"+this.bankAccountId);prt("余額:"+this.rest);staticvoidprt(Strings)System.out.println(s);主類:publicclassBank/*paramargsthecommandlinearguments*/publicstaticvoidmain(String
9、args)BankAccountb1=newBankAccount("2012-03-24",500);b1.showBankInfo();BankAccountb2=newBankAccount("2012-03-24",1000);b2.showBankInfo();BankAccountb3=newBankAccount("2012-03-24",900);b3.BankIn(300);b3.showBankInfo();b3.BankOut(200);b3.showBankInfo();b1.showBankInfo();/T
10、ODOcodeapplicationlogichere【總結與體會】通過本次實驗鞏固了掌握構造方法的作用和定義,掌握了方法重載的意義和實現方式與靜態成員的使用方法。同時也發現了本身的一些不足,還要繼續努力去彌補這些不足。課后作業:1、編寫一個類Book,代表教材:具有屬性:名稱(title)、頁數(pageNum)、種類(type)具有方法:detail,用來在控制臺輸出每本教材的名稱、頁數、種類具有兩個帶參構造方法:第一個構造方法中,設置教材種類為“計算機”(固定),其余屬性的值由參數給定;第二個構造方法中,所有屬性的值都由參數給定。Book類:publicclassBookStringti
11、tle;intpageNum;Stringtype;publicvoiddetail()System.out.println("=教材信息=");System.out.println("名稱:"+this.title);System.out.println("頁數:"+this.pageNum);System.out.println("種類:"+this.type);publicBook(Stringtitle,intpageNum)this.title=title;this.pageNum=pageNum;thi
12、s.type="計算機"publicBook(Stringtitle,intpageNum,Stringtype)this.title=title;this.pageNum=pageNum;this.type=type;主類:publicclassBooks/*paramargsthecommandlinearguments*/publicstaticvoidmain(Stringargs)Bookb1=newBook("C語言",125);b1.detail();Bookb2=newBook("C#",150,"編程語言&
13、quot;);b2.detail();/TODOcodeapplicationlogichere運行結果:=教材信息=名稱:C語言頁數:125種類:計算機=教材信息=名稱:C#頁數:150種類:編程語言2、編寫一個程序,已有若干學生數據,包括學號、姓名、成績,要求輸出這些學生數據并計算平均分。思路:設計一個學生類Student,除了包括no(學號)、name(姓名)、和deg(成績)數據成員外。有兩個靜態變量sum和num,分別存放總分和人數,有一個構造方法、一個普通實例方法disp()和一個靜態方法avg()(用于輸出當前人數和平均分)。Student類:publicclassStudent
14、intno;Stringname;floatdeg;staticfloatsum=0;staticintnum=0;/學號/姓名/成績/總分/人數publicStudent(intno,Stringname,floatdeg)this.no=no;=name;this.deg=deg;sum+=deg;num+;publicvoiddisp()System.out.println("=學生信息=");System.out.println("學號:"+this.no);System.out.println("姓名:"+
15、);System.out.println("成績:"+this.deg);publicstaticvoidavg()System.out.println("當前人數:"+Student.num);System.out.println("平均成績為:"+Student.sum/Student.num);主類:publicclassStudentScore/*paramargsthecommandlinearguments*/publicstaticvoidmain(Stringargs)Students1=newStudent(11111,"張三",80);s1.disp();Students2=newStudent(11112,"李四",90);s2.disp();Students3=newStudent(11113,"王二&qu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關鍵指標解析的2025年信息系統監理師考試試題及答案
- 信息系統監理師考生心得試題及答案
- 公路工程執照考試在線測試試題及答案
- 鐵合金冶煉中的原料選擇考核試卷
- 組織文化建設與變革管理考核試卷
- 竹材在戶外健身器材的應用考核試卷
- 船用軸系的振動分析與故障處理考核試卷
- 出租展廳車間管理制度
- 完善網絡相關管理制度
- 公司職工福利管理制度
- 優秀校友推薦表
- 班主任到場簽到表
- 三菱電梯維修調試資料:GPS2故障代碼
- 水電解制氫設備操作使用手冊
- 天臺宗哲學討論(下)課堂報告
- PMBOK指南(第5版)第三章習題
- 學齡前兒童、老年人、特殊人群營養與膳食
- 銀鷺渠道合理布建,服務代管
- 鋼結構竣工資料范本
- 辦公樓保潔耗材明細表
- 炒股一招先100全集精華筆記-陳浩
評論
0/150
提交評論