前言:
本次博客是針對三階段的java學習的一次小結。
作業過程總結:
第一階段
第一階段的學習讓我知道怎么樣從面向對象向面向過程過渡。
第二階段
而第二階段讓我更加深刻的理解面向對象的知識面最主要的是包括:通過作業逐步理解面向對象的封裝性、繼承性與多態性三大技術特性。
第三階段
第三階段的學習包括程序的重構,接口與抽象類的使用,同時最重要的是對棧的使用,與此同時鞏固了類的封裝性、繼承性以及多態性的綜合應用,也進行了正則表達式的學習和鞏固運用。最近學習到了關于事件(鼠標事件,鍵盤事件)、lambda表達式、動畫以及內部類的相關基礎知識。
作業過程中遇到的問題及解決方法
在完成作業時,對一些內容不熟悉,如Map,List,Stack等,需要通過查閱資料來使用,大大降低了完成的效率,花費了大量的時間,也沒有達到預期的效果。最后一些問題還是通過和同學一起討論得出的結果,還存在一些可能現階段我還難以解決的問題。
對編程過程的嚴謹性的認識及教訓
自己寫的代碼基本上找不到錯誤,一直覺得自己是對的。問題在于我寫代碼不夠嚴謹,不然就不會浪費太多的時間在找錯誤了。可能是因為知識點不清楚,一個好的代碼會讓代碼的實用性增加,更加簡潔易懂,所以在以后的學習中要重視嚴謹性,不僅僅是在代碼編程方面,還有其他課程的做題方面,這樣不僅可以節約時間,也可以讓提高自己學習的效率。所以對知識的掌握要非常熟練。
OO設計心得:
1.對面向對象三大技術特性之間關系的理解
封裝減少了大量的冗余代碼封裝將復雜的功能封裝起來,對外開放一個接口,簡單調用即可。將描述事物的數據和操作封裝在一起,形成一個類,被封裝的數據和操作只有通過提供的公共方法才能被外界訪問(封裝隱藏了對象的屬性和實施細節),私有屬性和方法是無法被訪問的,表現了封裝的隱藏性,增加數據的安全性。
繼承減少了類的冗余代碼讓類與類之間產生關系,為多態打下基礎若一個新類繼承了原有類的屬性和方法,并增加了自己的新屬性和新方法,那么這么子類就可以完美地實現它應該具備的功能。在做題時我發現構造器(構造方法)是無法被繼承的,但是子類生成對象時默認會先執行父類無參的構造函數(實例化對象,讓子類可以使用父類的成員)。
多態同一個接口,使用不同的實例而執行不同操作。
2.面向對象設計的基本原則理解
模塊化設計,對象就是模塊,把數據和方法緊密結合在一起構成模塊,每個對象各司其職,只做好自己的本分工作,使其更具有通用性.
3.OO編程思維的理解
我覺得關鍵得先找出對象,分析對象之間的關系后,再把類給抽象出來,分析完類與類之間的關聯后在進行設計.
測試的理解和實踐:
1.測試對于編碼質量的重要性
測試是檢測代碼質量標準,沒有測試最為保證的話,一篇代碼可能永遠只能返回錯誤值,永遠不能為人所用,這時代碼只能算是一堆無用的字符,就算只有個別錯誤,沒有測試的話,這個錯誤就無法被程序員及時發現并修改,有bug的代碼只能稱為bug,而bug滿足不了用戶的需求.總之沒有測試,代碼的質量就得不啊到保證。
此外,代碼的測試還可以用來測試代碼的運行是否流暢和測試代碼的運行速度,再加以修整從而提高代碼的質量。好的代碼不是一下子寫出來的,而是慢慢改出來的,一遍遍的測試一遍遍的修改后得出來的代碼才經得住推敲,才經得起使用,一點點的完善,一步步的走向完美。
四、課程收獲:
我們一個學期的Java學習就這樣結束了,經過了一個學期的學習,非要談談收獲的話,也還是有的比如我從不懂面向對象的好處,到現如今非面向對象不寫的轉變。網課對我這樣自學心不強的人來說,真的是太荒廢了。從作業中的收獲最大,我明白了代碼的嚴謹性,我在這方面花費的時間真的比較多,一直以來都是這樣的問題,這同時讓我對代碼嚴謹性的重要性有了更進一步的認識。總的來說我的編程能力還是有所提升的。
五、對課程的建議:
希望老師以后可以適當引導一下我們學生,以免走彎路。
希望可以多發些帶有注釋的代碼給我們實踐(要發全的)
希望每次作業過后能講解一下關于作業的內容
浙公網安備 33010602011771號