0.前言編程
本次的博客是本學期第一次對階段做業的總結,也是第一次以發博客的形式做爲記錄。框架
2020年3月開始學習 「面向對象程序設計」 我認爲這門課程是以C語言爲基礎,但卻更加的方便更加的快捷,有更多的巧妙用法,也有更多的語法。函數
寫這篇博客時,已經完成了3次pta上的做業。三次做業開始較難,熟練後能夠運用,可是做業中的代碼確定會有些不足。好比一開始時對輸入,輸出代碼的運用不熟練,對類的概念不清楚。其次到接下來的做業中,對「返回值」和「類與類之間的調用」不太清楚。學習
(1)總結三次做業之間的知識迭代關係(2)如何經過做業逐步從面向過程過渡到面向對象(3)做業過程當中遇到的問題及解決方法(5)對編程過程的嚴謹性的認識及教訓:測試
好比pta第一次做業的第一題,一開始運用的不熟練,使得代碼較長,寫代碼的時候也不方便,並且出現錯誤的時候不容易檢查,是明顯的面向過程,並非一個想套誰就套誰的代碼,並非一個想拿去那裏用就拿去那裏用的代碼,而是隻能這個題用的代碼。編碼
而第一次做業的第四題比較繁瑣,要考慮到事情的「另外一面」,要全面的去考慮事情。而我一開始用的if-else比較少,大部分用的只是if。因此錯的時候會出現 出了一個判斷,又進了一個判斷的狀況。使答案有兩個,答案錯誤。設計
第二次pta中難度明顯的提高,此次的代碼是第二題,學會使用一個類裏面有多個事件。每個事件不只這個題可使用,是不限定的,沒有限制的,是對每年都能判斷是否爲閏年,能夠判斷每個時期是星期幾。是能夠拿去別的類來使用。總結的時候發如今逐步的面向對象,而不是在面向程序。而這次代碼出現的錯誤就是在計算總天數時會包含閏年和平年,在計算有多少個閏年時出錯較多,問題較大。通過不斷的嘗試完成了代碼。3d
第三題和第四題都運用了第二題中的事件。是逐步的增長難度,逐步的增長事件。3.4題的困難在於判斷較多,一開始的邏輯並非很正確,代碼較長,寫錯不容易更改,而且錯的又多。對象
第三次pta主要就是學會如何的去寫不一樣的類,類與類之間的關係,怎麼來進行相互之間的調用,代碼依舊和第二次的相似。只不過更增強調的是類,更加面向對象而不是面向程序。錯的較多的就是在寫不一樣的類時,相互調用會出現問題。操做不熟練。blog
(4)每次做業花費的時間比例:1:1:3第三次花費的時間較多,第一次和第二次相對於較少,第三次花費的事件較多也是由於對類的瞭解不夠多,不熟練。
2.OO設計心得
(1) 面向過程與面向對象的比較: 面向過程分析出解決問題所須要的步驟,而後用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就能夠了, 面向對象就是構成問題事務分解成各個對象,創建對象的目的不是爲了完成一個步驟,而是爲了描敘某個事物在整個解決問題的步驟中的行爲。
(2)面向對象設計的基本原則理解:一個類只作一件事,只有一個職責,具備複用性,可讀性也更高了。
(3)OO編程思惟的理解:有一個問題時,要把問題分割爲一個類一個類的,先不考慮細節問題,把主要問題作成一個一個的框架。寫完框架再去解決細節問題。
3.測試的理解與實踐
(1)測試對於編碼質量的重要性:我認爲是很是重要的,由於沒有測試個人認識就只是片面的,也許可能會對,可是我認爲大多數都是不全面的。並且寫代碼須要細心,一個小毛病就可能引起大問題,測試就是對於錯誤的處理有着一系列完善的措施。
(2)假如讓我設計測試用例:我會用邊界值(最大值,最小值),中間測試值,由於打代碼的時候最容易忽略的就是邊界值。
4. 課程收穫
(1)總結這四周來在OO方面的教訓及收穫:這四周以來是比較辛苦的,萬事開頭難,一開始對OO的認識並非那麼多,不少基礎的語法運用的也不熟練,也是第一次以博客的形式作出一些總結,寫完以後感受有意一些比較清晰的思路。也有了不少的改進的想法。
5. 對課程的建議:但願老師在課堂上多多的講一些基礎語法和比較實用的語法。寫pta的時候感受稍微有點慢。感受還沒加大做業的時候做業量還能夠,可是一加大做業就感受做業量稍微有點多,不只有pta還有課堂做業還有慕課做業。