程式設計思想 物件導向和面向過程

2021-09-24 12:09:43 字數 1725 閱讀 1451

什麼是物件導向?面向過程又是什麼?對於這程式設計界的兩大思想,一直貫穿在我們學習和工作當中。也許我們心裡對這兩個概念有個模糊的理解,卻又說不出個所以然。

首先我們來認識下,什麼是面向過程?如果咬文嚼字的話可以這樣來理解,面向過程就是面向解決問題的過程進行程式設計。仔細思考一下,我們在學習和工作中,當我們去實現某項功能或完成某項任務時,是不是會不自覺的按部就班的羅列出我們要做的事情?而當我們按著我們羅列的步驟去解決問題時,實質上就是按照面向過程的思想去解決問題。我們羅列的步驟就是過程,按照步驟解決問題就是面向過程。

傳統的面向過程的程式設計思想總結起來就八個字——自頂向下,逐步細化

實現步驟如下:

將要實現的功能描述為乙個從開始到結束按部就班的連續的步驟(過程);

依次逐步完成這些步驟,如果某一步的難度較大,又可以將該步驟再次細化為若干個子步驟,以此類推,一直到結束得到想要的結果;

程式的主體是函式,乙個函式就是乙個封裝起來的模組,可以實現一定的功能,各個子步驟往往就是通過各個函式來完成的,從而實現**的重用和模組化程式設計!

面向過程,就是按照我們分析好了的步驟,按部就班的依次執行就行了!所以當我們用面向過程的思想去程式設計或解決問題時,首先一定要把詳細的實現過程弄清楚。一旦過程設計清楚,**的實現簡直輕而易舉。

討論完了面向過程,我們再來認識下物件導向。所謂的物件導向,就是在程式設計的時候盡可能的去模擬真實的現實世界,按照現實世界中的邏輯去處理乙個問題,分析問題中參與其中的有哪些實體,這些實體應該有什麼屬性和方法,我們如何通過呼叫這些實體的屬性和方法去解決問題。當我們使用物件導向進行程式設計時,一定要建立這樣乙個觀念:萬物皆物件!

現實世界中,任何乙個操作或者是業務邏輯的實現都需要乙個實體來完成,也就是說,實體就是動作的支配者,沒有實體,就肯定沒有動作發生!

有動詞就一定有實現這個動作的實體!

所謂的模擬現實世界,就是使計算機的程式語言在解決相關業務邏輯的方式,與真實的業務邏輯的發生保持一致!需要使每乙個動作的背後都乙個完成這個動作的實體!

因為任何功能的實現都是依賴於乙個具體的實體的「動作|操作|行動」,可以看作是乙個又乙個的實體在發揮其各自的「能力」並在內部進行協調有序的呼叫過程!

當採用物件導向的思想解決問題時,可分為下面幾步:

這張圖里就把蘋果放進冰箱這件事,分別用面向過程和物件導向來實現。面向過程更像是我們日常的行為一步一步的做,站在第一人稱視角;而物件導向,把冰箱和人看成兩個物件,賦予特定行為和屬性,類似於第三人稱視角。

在我們將面向過程和物件導向討論完後,會明顯的感覺兩者之間有著很大的區別。面向過程簡單直接,易於入門理解,模組化程度較低。而物件導向相對於面向過程較為複雜,不易理解,模組化程度較高。可總結為下面三點:

都可以實現**重用和模組化程式設計,但是面對物件的模組化更深,資料更封閉,也更安全!因為物件導向的封裝性更強!

面對物件的思維方式更加貼近於現實生活,更容易解決大型的複雜的業務邏輯

從前期開發角度上來看,面對物件遠比面向過程要複雜,但是從維護和擴充套件功能的角度上來看,面對物件遠比面向過程要簡單!

如何選擇物件導向還是面向過程,對於乙個有著豐富開發經驗的老手來說,這是個得心應手的過程。而對於乙個新手而言,其實從兩者的對比就可以看出,當我們的業務邏輯比較簡單時,使用面向過程能更快的實現。但是當我們的業務邏輯比較複雜時,為了將來的維護和擴充套件,還是物件導向更為靠譜點!

程式設計思想 物件導向和面向過程

何謂物件導向?何謂面向過程?對於這程式設計界的兩大思想,一直貫穿在我們學習和工作當中。我們知道面向過程和物件導向,但要讓我們講出來個所以然,又感覺是不知從何說起,最後可能也只會說出一句就是那樣啦,你知道啦。而這種茫然,其實就是對這兩大程式設計思想的迷糊之處。本文通過學生到校報道註冊的例項,闡述了面向...

程式設計思想 物件導向和面向過程

何謂物件導向?何謂面向過程?對於這程式設計界的兩大思想,一直貫穿在我們學習和工作當中。我們知道面向過程和物件導向,但要讓我們講出來個所以然,又感覺是不知從何說起,最後可能也只會說出一句就是那樣啦,你知道啦。而這種茫然,其實就是對這兩大程式設計思想的迷糊之處。本文通過學生到校報道註冊的例項,闡述了面向...

程式設計思想 物件導向和面向過程

何謂物件導向?何謂面向過程?對於這程式設計界的兩大思想,一直貫穿在我們學習和工作當中。我們知道面向過程和物件導向,但要讓我們講出來個所以然,又感覺是不知從何說起,最後可能也只會說出一句就是那樣啦,你知道啦。而這種茫然,其實就是對這兩大程式設計思想的迷糊之處。本文通過學生到校報道註冊的例項,闡述了面向...