面向對象的理解

? ? ? ?面向對象是程序員在編程時比較難以理解的問題,不同于面向過程,只需按照程序的要求編寫一個個函數,實現各個步驟,來實現功能的要求。而面向對象需要我們根據程序的要求設立對象。這個建立對象的分析過程是比較困難的。

? ? ? ? 以往我們編寫程序都是按照面向過程的思維模式來進行的,我們看待問題是這一步應該做什么,下一步應該做什么,然后編寫成不同的函數,來共同實現這個功能。這對于簡單的程序只有幾百行來說是非常有效的方法,但是對于大的程序來說,這種方法就非常不實用了,如果程序非常的龐大,幾萬行甚至更多,我們要考慮的事情就非常多了,如果這樣編寫容易造成結構混亂,使得程序的bug非常多。也不利于程序的維護和修改,如果客戶提出修改某些功能,甚至增加功能的話,我們原先的程序很可能就不能用了,必須再次編寫。因為面向過程的程序大多都是通過函數之間的傳值來實現信息的交流的,如果你修改某一函數很可能導致另外一個函數出現bug。面向過程的程序都是各個函數之間緊密連接的,一改可能會改一大片。而且容易出現某個函數的值發(fā)生錯誤,導致整個程序運行錯誤。

? ? ? ? 而面向對象就比較符合人類的思維習慣了,對于一個問題,我們首先想到的不是,怎樣解決它,如何解決它,而是這個問題牽扯到的對象都有哪些,它們做了什么。列舉一個經典的問題,把大象裝進冰箱分為幾步,如果按照面向過程的思維來想應該是三步,第一步打開冰箱門,第二步把大象放進冰箱,第三步關上冰箱門。這個過程就結束了。而對于面向對象來說的話首先我們應該分析這個過程有哪些對象來參與,第一個應該是冰箱,然后是大象。在這個過程中冰箱的行為有打開和關閉,而大象的行為就是進入冰箱。然后我們就可以建立兩個類,一個是冰箱一個是大象。以后如果大象有任何其它的行為比如說出去,睡覺等就和冰箱沒有任何的關系。

? ? ? ? 對于面向對象來說,把一個個行為和屬性相同的對象抽象成為一個類,就相當于一個模板。類包括屬性和方法(函數),通過把屬性私有化,使得外界不能訪問和修改里面的屬性,類和外界的接口就是公有化的函數,只有類里面的函數才能對類屬性進行操作。這就不會造成類屬性被外界修改,對于其它程序而言這個類就相當于一個收音機,只知道按鍵的功能,而不能了解內部的結構。這就體現了類的封裝性。對于一個類來說,不能滿足有些對象的全部行為和屬性,比如說鴨子這個類的行為不會說人話,而唐老鴨卻會說人話,它符合鴨這個類的所有屬性和行為,應該屬于鴨這個類,但它還有鴨這個類沒有的行為,所以應該在再建一個類,這個類繼承鴨這個類的全部行為和屬性還有其它的行為。這就是繼承關系,子類繼承父類的所有屬性和行為之外,還有自己的屬性和行為。對于代碼功能的更新重用起著非常大的作用。如果要在一個類的基礎上增加新的方法(行為)和屬性,只需創(chuàng)建一個新的類繼承于原來的父類,再增加新的方法。就可以了。對于一個類甚至多個繼承類的對象的同一個方法來說,因為屬性的不同而導致方法的不同。比如人這個類,有的人高有的人低,有的人吃的多有的吃的少,同一個類的不同對象中同種方法的不同行為就叫多態(tài)性。?對象是類的實例化,比如人是一個類,具體的某一個人張三就是類的實例化對象。

? ? ? ? 總的來說,面向過程是讓程序之間緊密聯系在一起的,而面向對象編程是由一個個類組成的,注重各個類之間互不相關的,除非特殊情況需要傳輸消息。

使用UML畫類圖解釋程序

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 0.前言 以前和大家分享的都是JavaScript的基礎,現在就和大家分享的是比較有難度的知識點——對象。注意啊各...
    紫荊峰閱讀 2,322評論 2 11
  • 為什么要使用面向對象的思想來看待問題? 1.面向對象更利于我們看待問題,它使得我們看待問題變得清晰化。對于問題...
    lxp1055閱讀 756評論 0 0
  • ————前車之鑒,后車之師:對面向對象的理解 1.考慮問題的過程和思想的轉變: 在對問題的考慮時人的主觀思維起到重...
    Zythemoon閱讀 575評論 0 0
  • 在java中,除了八種基本數據類型,一切皆對象。 java是基于C++設計的語言,而C++又是繼承自C語言,C語言...
    擋不住的柳Willow閱讀 513評論 2 2
  • 《皇權的衍生物》目錄 (五)亂世梟雄——漢朝的徹底結束 公元189年,董卓帶兵進入洛陽,廢少帝,立獻帝劉協,...
    三步一叩首閱讀 968評論 2 4

友情鏈接更多精彩內容