一、學習要點
認真看書并查閱相關資料,掌握以下內容:
- 掌握抽象類的設計
- 掌握接口的設計
- 理解簡單工廠設計模式
- 理解抽象類和接口的區別
- 掌握包裝類的應用
- 掌握對象的比較方法和比較器的使用
- 學習使用日期操作類
- 學習匿名內部類的使用
二、作業要求
發布一篇隨筆,主要包括以下幾部分的內容:
(一)學習總結
1.在上周完成的思維導圖基礎上,補充本周的學習內容,對Java面向對象編程的知識點做一個全面的總結。
參考資料: XMind
2.汽車租賃公司,出租汽車種類有客車、貨車和皮卡三種,每輛汽車除了具有編號、名稱、租金三個基本屬性之外,客車有載客量,貨車有載貨量,皮卡則同時具有載客量和載貨量。用面向對象編程思想分析上述問題,將其表示成合適的類、抽象類或接口,說明設計思路并畫出類圖。
工具:PowerDesigner
參考教程:UML 簡介
3.閱讀下面程序,分析代碼是否能編譯通過,如果不能,說明原因,并進行改正。如果能,列出運行結果
interface Animal{ void breathe();void run();void eat();}class Dog implements Animal{public void breathe(){System.out.println("I'm breathing");}void eat(){System.out.println("I'm eating");}}public class Test{public static void main(String[] args){Dog dog = new Dog();dog.breathe();dog.eat();}}
4.運行下面的程序
import java.util.Arrays;public class Test{public static void main(String[] args){String[] fruits = {"peach","banana","orange","apple"};Arrays.sort(fruits);for(int i = 0;i < fruits.length;i++){System.out.println(fruits[i]);}}}
程序輸出的結果是升序排序的。查看String
類的源碼,說明是如何實現的?如果現在希望對輸出的結果進行降序排序,該如何處理?修改上述代碼,實現按照字母順序逆序排序。
5.其他需要總結的內容。
(二)實驗總結
實驗內容:
1.某工廠生產各種音樂盒,客戶無需知道音樂盒的制作過程,只需知道如何播放音樂盒即可。用簡單工廠設計模式實現該過程:接口MusicBox具有方法play(),兩個音樂盒類PianoBox,ViolinBox,MusicBoxFactory 產生MusicBox的實例。
2.修改第三次作業的第一題,使用java.util.Date類表示職工的生日和參加工作時間,并將職工信息按照生日大小排序后輸出。(分別用comparable和comparator實現)
3.在案例寵物商店的基礎上,實現以下功能:
(1)展示所有寵物
(2)購買寵物
(3)顯示購買清單
完成實驗內容,代碼上傳到碼云,并對完成實驗內容過程中遇到的問題、解決方案以及程序的設計思路和思考等進行歸納總結。
格式如下:
程序設計思路:XXXXXXX
問題1:XXXXXXX
原因:XXXXXXX
解決方案:XXXXXXX
問題2:XXXXXXX
原因:XXXXXXX
解決方案:XXXXXXX
(三)代碼托管(務必鏈接到你的項目)
- 碼云commit歷史截圖
上傳實驗項目代碼到碼云,在碼云項目中選擇“統計-commits”,設置搜索時間段,搜索本周提交歷史,并截圖。
三、評分標準
- 作業總分10分,以0.5分為最小打分單位。
- 程序(5分):本次實驗內容有三道題
- 少一題扣1分。格式不規范扣1分,程序有錯誤扣1-2分。- 學習總結(3分)
- 內容豐富,有自己的總結、思考和論述--3分
- 有自己的總結和論述--1-2分
- 大段文字復制,無自己的總結歸納--0分- 實驗總結(2分)
- 總結內容豐富--2分
- 條理不清晰,應付了事--0-1分- 附加分:積極參與博客互評和互動,有實質內容加0.5-1分
- 沒有按時提交作業,則本次作業為0分。
- 作業抄襲,倒扣10分。
隨筆必須采用MarkDown格式,可參考作業模板