首頁  >  文章  >  Java  >  Java教程之物件導向與物件導向流程

Java教程之物件導向與物件導向流程

巴扎黑
巴扎黑原創
2017-08-17 11:06:531702瀏覽

面向過程和物件導向都是對軟體分析、設計和開發的一種想法,它指導著人們以不同的方式去分析、設計和開發軟體。早期先有面向過程思想,隨著軟體規模的擴大,問題複雜性的提高,面向過程的弊端越來越明顯的顯示出來,出現了面向對象思想並成為目前主流的方式。兩者都貫穿軟體分析、設計和開發各個階段,對應物件導向就分別稱為物件導向分析(OOA)、物件導向設計(OOD)和物件導向程式設計(OOP)。 C語言是一種典型的過程導向語言,Java是一種典型的物件導向語言。

  面向過程思想思考問題時,我們首先思考「怎麼按步驟實現?」並將步驟對應成方法,一步一步,最終完成。 這個適合簡單任務,不需要過多協作的情況下。例如,如何開車?我們很容易就列出實現步驟:

  1. 發動車2. 掛擋3.踩油門4. 走你

  面向過程適合簡單、不需要協作的事務。 但是當我們思考比較複雜的問題,例如“如何造車?”,就會發現列出1234這樣的步驟,是不可能的。那是因為,造車太複雜,需要很多協作才能完成。此時面向對象思想就應運而生了。

  物件導向(Object)思想更契合人的思考模式。我們首先思考的是“怎麼設計這個事物?” 例如思考造車,我們就會先思考“車怎麼設計?”,而不是“怎麼按步驟造車的問題”。這就是思維方式的轉變。

  一、物件導向思想造車,發現車由以下物件組成:

  1. 輪胎

  2. 引擎

  3.車殼

  4. 座椅

  5. 擋風玻璃

  為了便於協作,我們找輪胎廠完成製造輪胎的步驟,發動機廠完成製造發動機的步驟;這樣完成製造發動機的步驟; ,發現大家可以同時進行車的製造,最後進行組裝,大大提高了效率。但是,具體到輪胎廠的一個管線操作,仍然是有步驟的,還是離不開面向過程思想!

  因此,面向對象可以幫助我們從宏觀上把握、從整體上分析整個系統。 但是,具體到實現部分的微觀操作(就是一個個方法),仍然需要面向過程的思路去處理。

  我們千萬不要把麵向過程和物件導向。他們是相輔相成的。物件導向離不開面向過程!

  ·物件導向與流程導向的總結

  二、都是解決問題的思考方式,都是程式碼組織的方式。

  三、解決簡單問題可以使用面向過程

  四、解決複雜問題:宏觀上使用面向對象把握,微觀處理上仍然是面向過程。

  · 物件導向思考方式

  遇到複雜問題,先從問題中找名詞,然後確立這些名詞哪些可以作為類,再根據問題需求確定的類的屬性和方法,確定類別之間的關係。

建議

  1.物件導向具有三大特徵:封裝性、繼承性和多態性,而面向過程沒有繼承性和多態性,且以過程為導向的封裝只是封裝功能,而物件導向可以封裝資料和功能。所以物件導向優勢更明顯。

  2.一個經典的比喻:物件導向是蓋澆飯、面向過程是蛋炒飯。蓋澆飯的好處是「菜」「飯」分離,從而提高了製作蓋澆飯的靈活性。飯不滿意就換飯,菜不滿意換菜。用軟體工程的專業術語就是「可維護性」比較好,「飯」 和「菜」的耦合度比較低。

以上是Java教程之物件導向與物件導向流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn