201621123041java程序設計第四周學習總結

#1. 本週學習總結

2. 書面做業

1. 面向對象設計

1.1 講故事:用50字以上講一個你在網上商城購物或者在班級博客進行學習的故事。使用Markdown的加粗標記把關鍵名詞標註出來,使用語句塊標記把裏面關鍵的動詞標註出來。

  • 忽然想要學吉他,決定去某寶上買一把價格適中的琴,首先先輸入某寶的帳號和密碼登入系統,而後查找吉他,查看吉他的尺寸顏色外形價格,加入購物車購買,最後進行價格結算。html




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

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

  • 共有方法包括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)java

  • 子類特有的屬性和方法private double bonus``public void setBonus(double b)編程

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

  • 調用的是Employee類的getSalary方法。

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

  • 代碼複用可以使程序更簡單明瞭,可以讓程序再也不顯得冗長,簡化代碼。相關代碼的直接複製粘貼看起來確實直觀,可是卻讓代碼更繁雜,沒法簡化代碼。

3. Object類中的toString與equals

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

  • public String toString() {return super.toString()+name;}

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



  • name忽略大小寫,因此使用equalsIgnoreCase()數組

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


  • ArrayList中的contains也用到equals的方法來比較。markdown

4. 實驗總結:

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

  • 多態對已存在代碼具備可替換性。例如,多態對圓Circle類工做,對其餘任何圓形幾何體,如圓環,也一樣工做。函數

  • 在應用中體現了靈活多樣的操做,提升了使用效率。學習

  • 多態簡化對應用軟件的代碼編寫和修改過程,尤爲在處理大量對象的運算和操做時,這個特色尤其突出和重要。測試

  • java多態性理解

4.2 PTA編程題(覆蓋)。並回答:編寫eqauls方法是須要注意些什麼?

    1. 自反性:對於任意的引用值x,x.equals(x)必定爲true。
    1. 對稱性:對於任意的引用值x 和 y,當x.equals(y)返回true時,y.equals(x)也必定返回true。
    1. 傳遞性:對於任意的引用值x、y和z,若是x.equals(y)返回true, 而且y.equals(z)也返回true,那麼x.equals(z)也必定返回true。
    1. 一致性:對於任意的引用值x 和 y,若是用於equals比較的對象信息沒有被修改,屢次調用x.equals(y)要麼一致地返回true,要麼一致地返回false。
    1. 非空性:對於任意的非空引用值x,x.equals(null)必定返回false.接下來咱們經過實例來理解上面的約定。咱們首先以一個簡單的非可變的二維點類做爲開始.
  • JAVA對象equals方法重寫

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

  • 注意輸出的數組必須是倒敘的。注意toString()父類的調用。

3. 碼雲及PTA

3.1. 碼雲代碼提交記錄

3.2 截圖PTA題集完成狀況圖


3.3 統計本週完成的代碼量

周次 總代碼量 新增代碼量 總文件數 新增文件數
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 0 0 0 0
5 221 221 4 4
  • 由於代碼都是隨便放的,因此不知道爲何,前幾周統計數老是0.
相關文章
相關標籤/搜索