JavaSE —— 第11步 —— 最關鍵的一點(物件導向) 11.1物件導向和麵向過程的區別

从零开始的学习之路發表於2024-03-07

一、物件導向與程序導向
學習程式設計的都或多或少的聽說過,C語言是程序導向的語言,而C++、Java等等語言是物件導向(這裡的物件不是大家現實裡的物件哈)的語言。

二、程序導向
經常出現這樣一個問題(子喬問AI的問題)把大象放進冰箱需要幾步:很多時候大家會思考,有沒有這麼大的冰箱,能不能驅趕大象到冰箱裡去,其實這些都是沒有必要的。程序導向只需要思考以下幾步:
第一步:開啟冰箱
第二步:放入大象
第三步:關閉冰箱
按照這三步,我們就能完成將大象放進冰箱的操作,但是現在很多的複雜情況下我們是做不到這樣的,不如說:我們該怎麼製造一個電腦呢,難道說我要先製造主機板,主機板上錫焊點幾個點什麼的,按照過程來,不太現實(航空航天等重要領域還是要程序導向)。這個時候就輪到我們的物件導向登場了。

三、物件導向
這個思想更像是人的思維我們首先思考的是“怎麼設計這個事物?” 比如思考造電腦,我們就會先思考“電腦怎麼設計?”,而不是“怎麼按步驟造電腦的問題”。這就是思維方式的轉變。
比如一個電腦,我們需要考慮電腦由什麼組成:主機板,cpu等等
物件導向和麵向過程是相輔相成的,不能將兩個對立起來。物件導向是宏觀的把控,落實到下邊還是需要程序導向進行具體的實現

物件導向和麵向過程思想的總結
都是解決問題的思維方式,都是程式碼組織的方式。
程序導向是一種“執行者思維”,解決簡單問題可以使用程序導向。
物件導向是一種“設計者思維”,解決複雜、需要協作的問題可以使用物件導向。
物件導向離不開程序導向:
宏觀上:透過物件導向進行整體設計
微觀上:執行和處理資料,仍然是程序導向。

相關文章