《java實(shí)習(xí)報告 接口與實(shí)現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《java實(shí)習(xí)報告 接口與實(shí)現(xiàn)(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第八周實(shí)驗報告
接口與實(shí)現(xiàn)
實(shí)驗1 評價成績
1 實(shí)驗?zāi)康?
本實(shí)驗的目的是讓大家掌握類是如何實(shí)現(xiàn)接口的。
2 實(shí)驗要求
體操比賽計算選手成績的辦法是去掉一個最高分和最低分后再計算平均分,而學(xué)校考察一個班級的某科目的考試情況時,是計算全班同學(xué)的平均成績。Gymnastics類和School類都實(shí)現(xiàn)了ComputerAverage接口,但是實(shí)現(xiàn)的方式不同。
3. 程序模板
請按照模板要求,將【代碼】替換為Java程序代碼,并給出程序的運(yùn)行結(jié)果;對于注釋語句中需要大家做出解釋的,請做出解釋。
參見“2014年10月24日”文件夾下的“實(shí)驗1”子文件夾下的源程序
4. 實(shí)驗后的
2、練習(xí)
對于數(shù)組
Double x [] = {5.0, 3.0, 1.0}來說,執(zhí)行Gymnastics類中的二重循環(huán)的過程中,數(shù)組x一步步的變化如下:
5.0
3.0
1.0
3.0
5.0
1.0
1.0
5.0
3.0
1.0
3.0
5.0
請試著給出Double x [] = {115.0, 25.0 76.0, 240.0, 18.0}時,執(zhí)行二重循環(huán)的過程中,數(shù)組x一步步的變化。
115.0
25.0
76.0
240.0
18.0
25.0
115.0
76.0
240.0
18.0
18.0
115.0
76.0
24
3、0.0
25.0
18.0
25.0
76.0
240.0
115.0
18.0
25.0
76.0
115.0
240.0
實(shí)驗2 貨車的裝載量
1. 實(shí)驗?zāi)康?
本實(shí)驗的目的是讓大家掌握接口回調(diào)技術(shù)。
2. 實(shí)驗要求
貨車要裝載一批貨物,貨物由三種商品組成:電視、計算機(jī)、洗衣機(jī)。卡車需要計算出整批貨物的重量。
要求有一個ComputeWeight接口,該接口中有一個方法:
public double computeWeight()
有三個實(shí)現(xiàn)該接口的類:Television、Computer和WashMachine. 這三個類通過實(shí)現(xiàn)接口給出
4、自重。
有一個Truck類,該類用ComputeWeight接口類型的數(shù)組作為成員(Truck類面向接口),那么該數(shù)組的單元就可以存放Television對象的引用、Computer對象的引用或WashMachine對象的引用。程序能輸出Truck對象所裝載的貨物的總重量。
3. 程序模板
請按照模板要求,將【代碼】替換為Java程序代碼,并給出程序的運(yùn)行結(jié)果。
參見“2014年10月24日”文件夾下的“實(shí)驗2”子文件夾下的源程序
4. 繼續(xù)練習(xí)
(1) 請給出接口回調(diào)語句
答:totalWeights = totalWeights + goods[i].comput
5、eWeight();
(2) 該類中哪個類是面向接口的類?
答:Computer, Television, WashMachine
(3) 請在實(shí)驗的基礎(chǔ)上再編寫一個實(shí)現(xiàn)ComputerWeight接口的類Refrigerator(冰箱類),并在主類中計算貨車貨物的總重量(即150件貨物,前30件為Computer,中間20件為Television,后50件為WashMachine,最后50件為Refrigerator)。
(4) 說說在增加Refrigerator類后,哪些類的代碼需要做修改,而哪些類的代碼無需修改。
答:只需要修改“CheckCarWeight”類里的
6、代碼,其它的都不需要修改。
實(shí)驗3 小狗的狀態(tài)(可選)
1. 實(shí)驗?zāi)康?
本實(shí)驗的目的是讓大家掌握面向接口編程的基本思想和基本的程序框架。
2. 實(shí)驗要求
小狗在不同的環(huán)境下可能呈現(xiàn)不同的狀態(tài)表現(xiàn),要求用接口封裝小狗的狀態(tài)。具體要求如下。
(1) 編寫一個接口DogState,該接口有一個名字為void showState()的方法
(2) (這一步很重要,若寫起來有難度,也可以根據(jù)自己的設(shè)計來寫)編寫Dog類,該類中有一個DogState接口聲明的變量state。另外,該類有一個show()方法,在該方法中讓接口state回調(diào)showState()方法
(3) 編寫若干個實(shí)現(xiàn)DogState接口的類,負(fù)責(zé)刻畫小狗的各種狀態(tài)。
(4) 編寫主類,在主類中測試小狗的各種狀態(tài)。
3. 程序模板:該程序沒有提供模板,請同學(xué)們自己設(shè)計編寫程序,方便起見,這里給出幾個實(shí)現(xiàn)接口的類名稱,即下面的粗體部分
MeetingHost (見到主人) 狀態(tài)為“開心”
MeetingEnemy(見到敵人) 狀態(tài)為“吠叫,很可能咬敵人”
MeetingFriends (見到朋友) 狀態(tài)為“搖搖尾巴,表示歡迎”
MeetingDogs(遇到同類) 狀態(tài)為“上前,嬉鬧”
結(jié)果: