201621123011 《Java程序設計》第4周學習總結

1. 本週學習總結

1.1 寫出你認爲本週學習中比較重要的知識點關鍵詞編程

  • 繼承、多態、覆蓋、抽象、關鍵字。

1.2 嘗試使用思惟導圖將這些關鍵詞組織起來。注:思惟導圖通常不須要出現過多的字。
函數

2. 書面做業

1. 面向對象設計(大做業1-該做業將做爲之後其餘做業的基礎,請務必完成)

1.1 講故事:用50字以上講一個你在網上商城購物或者在班級博客進行學習的故事。使用Markdown的加粗標記把關鍵名詞標註出來,使用語句塊標記把裏面關鍵的動詞標註出來。講故事範例:見參考資料UML類圖中如何繪製類圖學習

  • 由於鼠標鍵盤都壞了,而且恰逢雙十一,因此就想趁着雙十一買一套鍵鼠。首先打開淘寶,登陸帳號。
  • 搜索欄搜索鍵鼠套裝,綜合選擇價格居中,評價也還不錯的鍵鼠。
  • 設置數量爲1,並點擊加入購物車
  • 結算

1.2 找出系統中包含的類及其屬性、方法,類與類之間的關係,並繪製相應類圖。注意:不必定非要體現繼承關係。只要能將系統描述完整便可。一開始設計的時候不要考慮太多,不要出現太多的類,僅出現必要的類,完成最小功能便可。對商城購物系統建議只作購物車模塊。
測試

  • 商品類(Commodity)

屬性:ui

  • 購物車類(ShoppingCart)

屬性:設計

1.3 使用Java代碼實現這個系統(沒必要很完善)。粘貼運行截圖與關鍵代碼。未來要在這個基礎上逐漸完善、擴展成一個完整的面向對象的系統。合做完成:2-3人一個小組。
3d

  • 如今的功能很簡陋,可是我會在後期陸續的補充其中的功能。code

    2. ManagerTest.zip代碼分析(繼承、多態)

分析ManagerTest.zip中的代碼,回答幾個問題:對象

2.1 簡述文件中表現出的繼承關係。哪些是共有方法,哪些是子類特有的屬性和方法?blog

  • 文件中,Manager類繼承Employee類。
  • 其中共有方法爲:
public Employee(String n, double s, int year, int month, int day)
public String getName()
public double getSalary()
public Date getHireDay()
public void raiseSalary(double byPercent)
  • 子類特有屬性爲:
private double bonus;
  • 子類特有方法爲:
public void setBonus(double b)

2.2 文件第26行e.getSalary(),究竟是調用Manager類的仍是Employee類的getSalary方法?

  • 由運行結果能夠得知,staff[0]調用的是Manager類的getSalary方法,staff[1]、staff[2]調用的是Employee類的getSalary方法。

2.3 Manager類的構造函數使用super調用父類的構造函數實現了代碼複用,這樣有什麼好處?爲何不把父類構造函數中的相關代碼複製粘貼到Manager的構造函數中,這樣看起來不是更直觀嗎?

  • 能夠減小代碼量。
  • 雖說看起來直觀,可是這樣子增長了不少重複的代碼量。也不便於修改。

3. Object類中的toString與equals

3.1 編寫Fruit類,屬性String name。若是覆蓋其toString()方法,其父類中的toString方法的代碼就沒有了嗎?編寫Fruit的toString()方法,在該方法中要將調用父類的toString方法獲得的字符串與本身特有的屬性name拼接起來,怎麼編寫?(使用代碼展現)

3.2 爲Fruit類編寫equals方法覆蓋父類相應方法,功能爲當兩個Fruit對象name相同時(忽略大小寫),返回true。(使用代碼證實你本身覆蓋的equals方法是正確的)

3.3 完成3.2後,使用ArrayList fruitList存儲多個fruit,添加時要求若是要添加的fruit對象在fruitList中已存在就不添加,不存在就添加。編寫相關測試代碼。並分析ArrayList的contains代碼與equals方法有何關係?
提示:直接使用ArrayList的contains方法實現判斷對象是否存在。

  • 若是更改了equals的用法,contains也會忽略大小寫。若是將更改的equals的方法禁用後,contains將不區分大小寫。

4. 實驗總結:

4.1 PTA編程題(形狀-繼承)。並回答:在本題中使用多態爲編程帶來了什麼好處。

  • 使用多態能夠增長程序的可擴展性,而且提升程序的靈活性。

4.3 程序填空、函數題(1-3)。

3. 碼雲及PTA

3.1. 碼雲代碼提交記錄

3.2 截圖PTA題集完成狀況圖

3.3 統計本週完成的代碼量

1 0 0
2 0 0
3 324 324
4 0 0
5 252 252
相關文章
相關標籤/搜索