java课程心得_Java课程的感想
前言
java這門課基本上結束了,但個人對這門課程有一些感想,總結一下這門課程以及作業中的認識。
這門課程的作業主要是pta上的作業,這些作業感覺是逐漸加大難度的,開始的時候,作業還比較簡單,到后面的時候,作業就比較難寫了,花的時間也就更多了,在寫作業的過程中,有高興的時候,也有難過的時候,高興的時候是把作業寫出來了,通過了pta上的測試點,難過的時候是沒有通過測試點,而且很久都沒有找出問題的所在。但是經過這么長時間的學習,自己對該門課程的對知識點,能夠掌握。所以自己感覺這門課,通過大作業布置給學生做,這種方式還是比較好的,能夠很好地鍛煉學生的編程能力,而且能很好地有助于學生對知識點的掌握。
編程需要嚴謹的思維方式,不能只考慮片面,而要把所有的情況考慮進去,這樣,編寫出來的程序才是比較好的,如果編程的時候,沒有經過仔細的研究以及分析,就容易出錯,因為沒有考慮到極端的情況,雖然是很少出現的,但是也是會出現的。而且寫完代碼之后,要學會在其他地方運行一下,觀察一下,有沒有其他的錯誤,不能急著提交作業,這樣可以檢查出自己沒有發現的問題,而且通過一些極端的值進行測試,這樣更能體現出自己所寫的程序的完好性。面向過程和面向對象肯定是有區別的,面向過程和面向對象都可以解決當前要解決的問題,但是仔細想想和分析,就能發現面向過程缺少復用性,因為,面向過程只是能夠解決當前問題,如果下次出現類似但又不完全一樣的問題時,再想用之前用過的方法,就很難再復用過來,而面向對象就不一樣,它的復用性很強,而且寫出來的程序可讀性也很強,讓讀者很容易讀懂,找出錯誤也很容易,不像帶著面向過程思維所寫的代碼很難找出錯誤。我覺得面向對象的基本原則首先是要能夠解決當前所需要解決的問題,如果連問題都解決不了,這樣面向對象寫出來的程序就沒太大價值。
然后就是所寫的類里面的屬性和方法要做到盡可能齊全,就是說這個類所有的功能和屬性要包含進去,這樣復用性就比較好。還有就是每個方法要遵循單一職責,就是這個方法不要有其他的本身沒有的功能。對面向對象編程思維的理解,這種思維是突破以往面向過程的思維,我們要產生對象的概念,要把解決問題,看成是多個對象相互之間的作用,這樣就可以產生出很多對象,通過對象之間相互關系,進行調用,從而逐漸解決問題。這樣做可以提高程序代碼的復用性。這樣的思維要求我們有對象這個概念,這種思維將問題形象化,更好找到問題的解決思路。測試對于編碼質量的檢測很重要,通過測試可以檢測出編碼的正確性和效率性,很多編寫出來的代碼,不知道是正確還是錯誤或者時間和空間的效率性,很多時候需要通過測試來體現。
個人覺得測試是衡量編碼質量的一把尺子。所以測試對編碼質量是不可少的檢測方法,假如讓我設計測試用例,我會設計一些極端也就是邊界值,因為往往很多人在邊界值方面通過不了,自己也是有親身經歷的,而且我也會限制時間以及空間,因為很多時候大家寫的代碼都能過通過,但是并不代表所有人的代碼質量都很高,講究一個程序的質量,個人覺得要從正確性和效率上去衡量,而且我也會設計一些大家容易忽略考慮的情況的測試用例,這樣可以看出一個人的思維上是否嚴謹,思路上是否縝密。
在面向對象方面受到教訓和收獲:
在解決問題時,要認真把題目看懂,要注意題目的要求,不能一看到題目,就用面向過程的思維去解決問題,這樣自己很難真正學會面向對象的設計。要打破自己以前的思維方式,要逐漸地用面向對象的思維去看待問題,解決問題。
無論做什么,都需要有一個好的思維,對于OO編程來說,好的思維方式是基于面向對象的,以前的思維偏重于面向過程來說,但是對于OO編程來說,它是需要面向對象的思維方式,面向對象的思維注重于代碼的復用性,就是說,解決很多問題,都可以用到同一部分代碼,不需要自己另外再去寫,這樣就體現出OO編程的優越性,能夠提高程序的效率。
OO設計心得
經過這門課程的學習,自己對面向對象三大技術特性之間關系的理解:
個人覺得繼承是封裝的更好的拓展,繼承可以在保持封裝性的前提下,突破訪問的限制,可以做到對一些公開的屬性和方法進行調用,更好地提高了代碼的復用性,而繼承是多態的基礎,只有在繼承的前提下,才能完成向上轉型和向下轉型。
面向對象設計設計的基本原則的理解(單一職責原則及“開-閉”原則)
單一職責:對于一個類應該包含這個類所具有的屬性和方法,不屬于這個類的屬性和方法不應該放在這個類當中。
“開-閉”原則:就是對于擴展是開放的,對于修改是關閉的,就是說可以增加一些功能或者屬性,但是對于一些自己原有的屬性或者方法是不允許被修改的。
類設計心得
自己感覺到,一個類的設計要遵循單一職責和“開-閉”職責,一個類的設計要包含這個類該有的屬性和方法,不屬于這個類的屬性或者方法,不應該加在這個類中。當擴展的時候可以增加一些功能或者屬性,對于自己一些原有的屬性和方法是不允許被修改的。
如何通過作業逐步理解面向對象的封裝性、繼承性與多態性三大技術特性:
所謂封裝性,個人從做作業的過程中認為封裝是對某個類里面的屬性或者方法進行封裝,很明顯,封裝了的類,是不容易被其他類進行調用或者修改。首先對于某個類里面的屬性來說,如果要使類里面的屬性不被修改或者使用,那么就可以對屬性進行封裝,可以在定義屬性語句的最前面加上private,比如 private double radious;這樣這個屬性就不會被隨意修改。很多時候使用public進行成員屬性的定義就很容易被其他類進行修改或者使用。同理,某個類里面的方法也可以像屬性一樣做到被封裝。
其次所謂繼承性,就是子類可以繼承父類的很多方法和屬性,這樣就使得子類可以很靈活的被使用,因為所有的子類對象都是父類對象,子類可以繼承父類的所有公開的屬性和方法,但對于私有屬性和方法,子類就不能繼承,如果父類有繼承了一個類,那么子類可以繼承父類所繼承的那個類里面的所有公開屬性和方法,需要注意的是一子類只能有一個父類,也就是說一個子類只能繼承一個父類。這個特點可以從作業中很好地體現出來,有一道題講的是求出各類圖形的面積和體積,比如圓類和矩形類都繼承了圖形類,而球體類和柱體類分別繼承了圓類和矩形類,所以球體類和柱體類都繼承了圖形類的公開屬性和方法,從輸出結果就可以看出來。子類還可以重寫父類的方法,當子類調用和父類同一種方法,此時子類不再是調用了父類的方法,而是調用了自己所重寫的父類方法,這樣就使得子類更加靈活,更易以修改子類的方法。不過在重寫父類方法時,子類中方法的返回值類型必須和父類中的一樣。在題目中,圓類和矩形類就重寫了圖形類里面的getArea()方法。
所謂多態性,多態指的是父類引用子類的對象,并且子類和父類有同名的重寫方法,多態機制可以使內部結構不同的對象使用相同的外部接口,比如所有的子類對象都是父類對象,就很好說明了多態性的意思,就是所謂的向上轉型。
我對這門課程的建議有:
希望老師今后可以在課堂上多提些問題,鼓勵同學們回答,開發大家的思維,增強大家對面向對象的理解以及如何用面向對象的思維去解決問題,個人覺得這樣有助于大家走出以前的面向過程的思維方式。
總結
以上是生活随笔為你收集整理的java课程心得_Java课程的感想的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 删除OEM隐藏分区
- 下一篇: lm283_飞利浦Tango LED泛光