重載
,抽象類
,static
關鍵字,final
關鍵字,繼承與多態
git
1.1 講故事:用50字以上講一個你在網上商城購物或者在班級博客進行學習的故事。使用Markdown的加粗標記把關鍵名詞標註出來,使用語句塊標記把裏面關鍵的動詞標註出來。編程
講故事範例:見參考資料UML類圖中如何繪製類圖框架
打開淘寶
,能夠看到購物車、商品分類、搜索欄。在搜索欄
上選擇食品類,並輸入"小零食",而後點擊搜索
。出現了關鍵字的所有商品,並按綜合排序展示在眼前,除了綜合排序還有銷量、好評、價格,可供選擇排序,可按相應要求進行篩選
,可查看小零食的詳細信息,將其入到購物車
,能夠看到總價,進行結算,下單後須要填寫快遞地址
和聯繫方式
,若是有什麼要求能夠給賣家留言,賣家看到後會根據本身是否能知足後,而後知足客戶的要求,一次購物就這樣結束,最後靜待本身的快遞包裹飛到本身手中。1.3 使用Java代碼實現這個系統(沒必要很完善)。粘貼運行截圖與關鍵代碼。未來要在這個基礎上逐漸完善、擴展成一個完整的面向對象的系統。合做完成:2-3人一個小組。
可選:團隊協做可以使用git與碼雲。在碼雲中新建項目。全部隊員都應在碼雲中該項目下均應有有提交記錄。截圖大家的提交記錄。
ide
分析ManagerTest.zip中的代碼,回答幾個問題:
2.1 簡述文件中表現出的繼承關係。哪些是共有方法,哪些是子類特有的屬性和方法?函數
Employee(String n, double s, int year, int month, int day)
、String getName()
、 double getSalary()
。getSalary()
、setBonus(double b)
、Manager(String n,int year,int month,int day)
若是把父類構造函數中的相關代碼複製粘貼到Manager的構造函數中,首先礙於美觀,其次佔用了多餘的空間,並且沒有意義。學習
3.1 編寫Fruit類,屬性String name。若是覆蓋其toString()方法,其父類中的toString方法的代碼就沒有了嗎?編寫Fruit的toString()方法,在該方法中要將調用父類的toString方法獲得的字符串與本身特有的屬性name拼接起來,怎麼編寫?(使用代碼展現)測試
3.2 爲Fruit類編寫equals方法覆蓋父類相應方法,功能爲當兩個Fruit對象name相同時(忽略大小寫),返回true。(使用代碼證實你本身覆蓋的equals方法是正確的)
ui
3.3 完成3.2後,使用ArrayList
設計
ArrayList的contains代碼會調用equals()方法而後對該元素判斷是否已經存在在ArrayList中了。
提示:直接使用ArrayList的contains方法實現判斷對象是否存在。3d
4.1 PTA編程題(形狀-繼承)。並回答:在本題中使用多態爲編程帶來了什麼好處。
shape
類,Rectangle
與Circle
類都繼承Shape類,用double sumAllArea
這個方法計算形狀的面積,用double sumAllPerimeter
這個方法計算形狀的周長。4.2 PTA編程題(覆蓋)。並回答:編寫eqauls方法是須要注意些什麼?
創建PersonOverride
類,變量都使用了私有private
,equals
用來對name、age、gender三者進行比較。
1 自反性:對於任意的引用值x,x.equals(x)必定爲true
2 對稱性:對於任意的引用值x 和 y,當x.equals(y)返回true,y.equals(x)也必定返回true
3 傳遞性:對於任意的引用值x、y和z,若是x.equals(y)返回true,而且y.equals(z)也返回true,那麼x.equals(z)也必定返 回 true
4 一致性:對於任意的引用值x 和 y,若是用於equals比較的對象信息沒有被修改,屢次調用x.equals(y)要麼一致地返回true,要麼一致地返回false
5 非空性:對於任意的非空引用值x,x.equals(null)必定返回false
請注意:
重寫equals方法後最好重寫hashCode方法,不然兩個等價對象可能獲得不一樣的hashCode,這在集合框架中使用可能產生嚴重後果
4.3 程序填空、函數題(1-3)。
這些題目都是利用覆蓋一律念來展開的,並且還利用了子類能夠繼承父類這一用法進行作題。
題目集:[jmu-Java-03-面向對象1-基礎-封裝繼承]
在碼雲的項目中,依次選擇「統計-Commits歷史-設置時間段」, 而後搜索並截圖
本週完成(形狀-繼承,覆蓋)
須要有兩張圖(1. 排名。2.PTA提交列表)
周次 | 總代碼量 | 新增代碼量 | 總文件數 | 新增文件數 |
---|---|---|---|---|
1 | 0 | 0 | 0 | 0 |
2 | 492 | 492 | 10 | 10 |
3 | 435 | -57 | 6 | -4 |
4 | 0 | 0 | 0 | 0 |
5 | 312 | -123 | 8 | 2 |