前言 編程
本次博客是針對Java課程的前三次做業作的一次做業階段性總結,這三次做業的知識點由簡入深。從對選擇與循環的做用到經過了解類與類之間的關係來對類進行設計,也是從面向過程到面向對象的過渡。數組
做業過程總結學習
①三次做業由簡入深,每一次的知識點簡存在着迭代關係。第一次做業是對選擇與循環的簡單運用,即利用選擇與循環來解決簡單的實際問題。而第二次做業則須要咱們運用數組、選擇和循環來解決稍微複雜的問題,須要咱們學會運用方法來解決部分問題。而第三次做業,與第二次從題目上來看並沒有太大差別,更像是第二次做業的進階版,可是解題方法卻有很大的不一樣,第三次做業須要咱們學會運用利用類與類之間的關係來解決問題。測試
②這三次做業每次都是運用課上講過的知識點進行解題,而且也會有上一次做業的知識點出現,對其進行鞏固和複習。而這三次做業也實現了從面向過程到面向對象的過渡。編碼
③雖然三次做業都是做用老師課上講過的知識點進行解答,但仍是出現了不少問題。在進行解題時老是會少考慮到某一類狀況而致使整個代碼出現錯誤的狀況,而個人解決方法就是將這個問題將會產生的各類狀況提早在紙上羅列出來,在根據這些一點一點的解決問題。而有時也會出現代碼過長的狀況,這樣就要用換用其餘的方法來解決問題了。同時咱們應轉變咱們的解題思路,從以前學習C語言時的面向過程過渡到如今的面向對象。設計
④每一次做業老師都會預留出充足的時間來進行思考與解答的過程,而因爲做業的難度逐漸提升,咱們所花費的時間也愈來愈多從最開始的幾個小時到如今的幾十個小時。這一點在代碼長度上均可以看得出來。對象
⑤對代碼有過研究的都知道,編程過程的邏輯嚴謹性是十分重要的,首先若是邏輯嚴謹性不高就會致使代碼出現錯誤,其次當代碼出現錯誤時,若是咱們再編程過程當中邏輯嚴謹性不高的話,咱們就要花費更多的時間去尋找咱們產生的錯誤和修改錯誤的方法,這會極大的浪費咱們的時間。繼承
OO設計心得接口
①面向對象,是指某一個對象,它自己具備不少的功能以及屬性,那麼他的每個功能其實現過程就是面向過程的實現,那麼就像你說的能夠進行這樣的拆分,而且還要補充的就是面向對象他除了面向過程的一部分外,還有本身自己所擁有的屬性,這樣才完整構成了面向對象。而面向過程,其實就是解決問題的一個過程。事務
②單一職責原則,一個類只負責一組相關的事情,對應到代碼中就是一個類有多個方法,這些方法是相關的。對於類來講,儘可能作到單一職責原則,一個多職責的類能夠經過拆分、抽象、組合來實現單一職責原則。而單一職責原則的優勢有職責減小,類的複雜性下降,職責明確,可讀性提升,複雜性下降,可維護性提升,一個接口的修改只對相應的實現類有影響,對其餘接口無影響。
③oo設計主要任務是將設計儘可能和現實世界的事務一致化。儘可能使程序設計的思路符合現實世界事務的規律。類和對象是oo編程中最重要最基本的兩個元素,在設計時,先將找到要處理的各個對象,再找到各個對象的共同的祖先,逐層抽象。最後確立各個類之間的繼承關係。
測試的理解與實踐
①將測試工做提到編碼以前,並頻繁地運行全部測試,能夠儘可能地避免和儘早地發現錯誤,極大地下降了後續測試及修復的成本,提升了代碼的質量。
②假如讓我設計測試用例,我會先對程序進行相應的需求分析,尤爲是對特殊需求須要着重考慮,而且考慮好代碼的質量包括代碼長度和效率,內存等,考慮全面後再進行測試用例。將一個大問題拆分紅數個易於解決的小問題,在用學過的知識點進行解答能夠更爲方便,簡潔。
課程收穫
通過第一階段的學習我基本瞭解了Java中的面向對象思想,解題思路也由面向過程逐漸轉變爲面向對象,學會了對簡單問題的解答,類與對象的定義、構造方法的重載和使用、和經過了解類與類之間的關係來對類進行設計等。
對課程的建議
但願老師在課上能夠更多的講一下各類例題,使咱們能夠對所講的內容進行更好的吸取與使用。