Java是純面向對象,「面向對象」和「面向過程」有什麼區別?

寫這篇文章之前,我推薦下自己創的一個交流裙,每天群內直播分享課!我是一名從事了5年java開發的全棧工程師,目前在做線上教育講師,年初整理了一份最適合2018年學習的java乾貨,有想要學習Java的同學,關注小編頭條號,私信【學習】即可免費領取本文一整套系統的Java學習教程!

面向過程:

面向過程聚焦每一步操作,第一步操作,第二步操作……第n步操作,按照一系列具體的操作過程完成一件事。這就是面向過程。

舉例:辦手續,你要先去A部門蓋章簽字,接著完了才能去B部門,接著去C部門……一套下來完整的流程才能把手續辦理完。

Java是純面向對象,“面向對象”和“面向過程”有什麼區別?

面相對象:

舉例:假如要造一輛汽車,如果按照面向過程的思想,那就要想好造一輛汽車的所有細節,先造什麼後造什麼,顯然這樣做實在太複雜了,一個人根本幹不過來。接著面向對象思想就誕生了,我先想好一輛車由哪幾部分組成,比如車由輪胎,玻璃,發動機……等等組成,那麼我就把造輪胎這件事交給專門生產輪胎的公司負責,同理玻璃,發動機也一樣交給專門生產這些產品的公司。最後生產好以後,你只要把這些器件組裝一下就OK了。看上去你好像什麼事都沒幹,但是其實你完成了造一輛汽車的宏觀把控,至於具體每個部件的生產細節你完全不用考慮,交給響應公司或者部門就行了。

Java是純面向對象,“面向對象”和“面向過程”有什麼區別?

個人見解:造成面向過程和麵向對象區別的很大原因在於一個是否合作。一個人做一件事,往往第一反應是完成這件事需要哪些操作以及這些操作的先後次序是什麼。一個團隊做一件事,往往考慮的是給團隊中每個人分配什麼樣的任務,至於完成每個任務的具體細節只需要被分配任務的那個人去考慮,與其他人無關,當然具體到每個人完成每個具體任務也可以看成是面向過程的思想,但是宏觀上還是面向對象的思想。

Java是純面向對象,“面向對象”和“面向過程”有什麼區別?

最後總結:面向對象往往只在宏觀上表現為面向對象,但是要是具體到每個細節,依然是面向過程。就像Java語言,說是純面向對象,但其實只是把大部分面向過程的細節給你屏蔽了,比如類庫中你去看他們源碼,依然是面向過程思想。

資料獲取方式,關注小編,私信【學習】手機用戶可以直接私信,電腦端尚未開放此功能,還需下載app,然後私信回覆:學習 我已經設置了自動回覆,具體後續會自動回覆各位。


分享到:


相關文章: