java零基礎入門第二天 類 對象 繼承 重寫

在第一天的時候我們安裝了開發環境,看了第一章基本概念,對編譯 類 方法 對象有了一些基礎的認識,在第二天我們主要來聊一聊對象。 在第一章的時候有說到java是面向對象編程,那麼什麼是對象呢?類跟對象有什麼關係呢?面向對象有什麼好處?

1:先來說下什麼是對象 “按照通俗的說法,每個對象都是某個類(class)的一個實例(instance),這裏,‘類’就是‘類型’的同義詞。” 這句話看起來很抽象,用代碼來解釋就很簡單了

Person person = new Person("張三");

Person就是一個類,new Person 就是在Java中用new在堆上創建一個Person類型的對象,有屬性叫張三,並將這個對象賦值給person,person就是Person這個類的具體實例。

2:類跟對象是什麼關係呢?博主在這裏是這樣理解的,類是一個設計圖,對象是一個具體設計出來的實體,比如Person這個類就是一個設計圖,我們作爲開發工程師,在這裏跟上帝的存在一樣,我設計一種類:人類,Person就是我的設計類,裏面可以有年齡,身高,姓名。而對象就是具體的某個人,比如張三。我覺得理解到這種程度對於入門已經夠,後期碰到再詳細研究,初級工程師不建議深入某些理論太鑽牛角尖,精力是有限的,應該花在準確快速幫助到自己的地方。

3:面向對象有什麼好處?這個百度有太多答案了,我就結合着 說說自己的看法,在head first java中28-32頁講的故事目的就是說明面向對象的好處,那就是可以將複雜的業務邏輯簡單化,在以後你會碰到很多商務級的項目,他們不在是1+1,而是有很多複雜的屬性,動作,但是你如果把每個要處理事務,當做了一個個類(人,狗,桌子,椅子),每個類有他們各自的屬性(大小,年齡,男女),及動作(也就是方法 喫 喝 旋轉),這樣也便於後期維護,如果某個類要修改,只要修改那個類相關的代碼就好。

在書中28-32頁兩個工程師爲了一個需求分別採取了用面向對象開發和非面向對象開發,在客戶改需求的時候,還有添加需求的時候面向對象開發的優點就出來了,便於維護。

在書中有提到一個知識點叫繼承,這也是java面向對象的三大特性,找工作的時候,面試官問基礎的時候也會問道的重點。那麼什麼是繼承呢?我們看書中,客戶的需求是 點擊圖形的時候,圖形要順時針旋轉360度,還要根據不同圖形播放不同音效,那麼面向對象的設計的話就是 根據有三個圖形 那就建立三個類,square circle triangle三個形狀的類,每個類裏面有兩個方法播放音效和旋轉。後面客戶添加了一個阿米巴原型的類,但是不清楚是什麼樣,沒關係,不影響。

那這樣四個類,哪個類有什麼變動,就維護哪個類就好了,可是這樣發現四個類都有重複的方法,那我們就抽出一個叫形狀(shape)的類,這個類實現旋轉和播放的方法,另外四個類只要繼承了父類就可以實現了父類的旋轉和播放的兩個方法。書中好像就講了這麼,我這邊稍微擴展下,因爲這些都是設計理念都是國外人寫的,國外思想中,後人是站在巨人肩上,所以子類要比父類強大,子類能比父類更多方法,比如阿基米蟲類可以多個吐口水方法,那剛剛說了正方形 圓形 三角形 三個類播放音樂是不同的,那怎麼做到呢?這邊提到一個重寫方法的理念,就是將父類的方法重寫,播放對應的音樂,這邊不用理解,瞭解下有這個就好。

接着跟着書往下看下去,會發現36頁有個叫你建立自己的類,這裏你就可以幻想自己是個造物主,現在要造點啥,書中是造了一個狗的類,接下來還有屬性和xing行爲,屬性就是實際變量,比如狗的尺寸,年齡,名字,行爲就是方法,比如狗應該會叫,或者你想讓狗會飛也是可以,這樣就有飛 跟叫兩個方法。

這邊註釋都寫的很清楚了,我就不再寫一遍了。

在書中第38頁有個猜數字遊戲的代碼實現,從需求,到設計,再到測試,實現,都舉了出來了,根據註釋理解每一句代碼的意思,如果你都能理解,那麼這兩天的內容 都掌握了可以試着多做一做課後的習題。

今天的內容就先到這,題目有空再解析。總結下本章內容 類 對象 繼承 重寫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章