面向對象編程,爲之奈何

這裏借用偉大神的一句話:
剛纔總結了個想法。學習一個東西到底是應該跟着別人學好還是自學好。我覺得學習一個東西,如果自己還沒形成一套該東西的認知框架(通俗點來說就是入門),跟着別人比較好,這樣可以少走彎路,初期大面積東西思考不明白也打擊信心。但一旦有了自己的思考體系,碰到問題還是先自己儘量解決,因爲自己的這個思考過程很有價值,自己想通的和別人告訴你再想通的,絕對不一樣。自己想通的能發散思維,能加深理解,更能做到舉一反三。自己想明白了也可以詢問別人的想法,看看自己的想法有啥不足。實在想不明白,再去找別人解決並融會貫通,下次遇到類似問題爭取自己能思考明白。所以,我覺得學習東西應該是儘快形成對於這東西的認知框架,儘快做到能自行思考解決問題,享受思考的過程,不要上來就想全都學會,也不要太懶只看別人思考過的東西。我們教別人東西應該抓到核心的點儘快讓別人形成認知框架,讓別人自己思考成長。

OOP

  1. 面向對象是一種思想,說白了就是一種封裝的思想,身爲面向對象的java開發者,我初期入門做的最多的工作就是師傅給一個限定範圍,我在這個範圍裏用控制執行語句抑或操作符寫業務邏輯罷了,對象這個東西,在oop領域裏,就是一個封裝類,類,顧名思義,具有共性屬性的一類事物的抽象表達,人,是一類,貓,也是一類,具體是黑人白人,黑貓白貓,那就是這一類下的具體實現了。所以oop中,凡事出發點都是構建一個類。
  2. 類有了,下一步就是如何使用問題,類只是一類事物的抽象,java中是class文件(至於.java和.class文件後綴問題大可不必糾結,它們都是類的表達),那麼我具體去如何使用呢,比如你要一隻貓咪來陪伴你左右,我也需要一隻貓咪來陪伴我,我們都是從貓咪這個類出發,然後呢,java中,就是用new cat()這個表達式來基於這個cat.class類來具體生成一個貓對象來滿足你的需求。
  3. ok,貓咪有了,那麼如何讓它喵喵叫疑惑讓它做踩奶的動作呢,java中,類包括了成員屬性和成員方法,就是屬性(貓的名字,爪子的顏色等等)和方法(貓可以叫,貓可以打滾)是封裝在類裏邊的,作爲類成員的一部分,這裏就是面向對象的思想了,你可以通過step2new出來的cat對象去調用其方法(讓它叫)

實際業務

  1. 實際業務開發中,其實java語言的編程也很簡單,只要不是面試,日常的工作不會有太多的架構設計抑或多線程高併發的開發,更多的是業務邏輯代碼的實現落地,所以基於面向對象的思想來實現業務需求是一個java工程師的基本功。但剛提到的設計模式啊,高併發多線程不重要嗎,不,同樣很重要,可能現實場景中使用的不多,但也是一定要掌握的,因爲就想偉大神所說的,要自己思考,要開拓思維,當你以後要升級高級開發人員的時候,這些知識也是必不可少要掌握的。
  2. 所以當一個業務需求拋給你,你首先要做的就是仔細理解這個需求,看看如何基於需求來轉換成一個封裝類,當然oop過程中涉及到的基本知識(控制執行流程,操作符,集合類的使用等等)這些基礎知識也要掌握,因爲構建一所大廈,地基是不可商量的,是一定要夯實的。

跟着別人學習少走彎路

  1. 後續我會在csdn開一門基於thinking in java 經典教材的視頻課——thinking in java faster,感興趣的同學可以跟着我一起來認識和掌握oop這門有意思的編程思想,並夯實java的基礎知識。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章