面向對象和面向過程編程的區別與聯系


面向對象和面向過程編程的區別與聯系

 

 

何謂面向對象?何謂面向過程?對於這編程界的兩大思想,一直貫穿在我們學習和工作當中。我們知道面向過程和面向對象,但要讓我們講出來個所以然,又感覺是不知從何說起,最后可能也只會說出一句就是那樣啦,你知道啦。而這種茫然,其實就是對這兩大編程思想的迷糊之處。

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

傳統的面向過程的編程思想總結起來就八個字——自頂向下,逐步細化!實現步驟如下:

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

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

程序的主體是函數,一個函數就是一個封裝起來的模塊,可以實現一定的功能,各個子步驟往往就是通過各個函數來完成的,從而實現代碼的重用和模塊化編程!

二、面向對象
討論完了面向過程,我們再來認識下面向對象。所謂的面向對象,就是在編程的時候盡可能的去模擬真實的現實世界,按照現實世界中的邏輯去處理一個問題,分析問題中參與其中的有哪些實體,這些實體應該有什么屬性和方法,我們如何通過調用這些實體的屬性和方法去解決問題。

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

三、面向對象和面向過程的比較

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

都可以實現代碼重用和模塊化編程,但是面對對象的模塊化更深,數據更封閉,也更安全!因為面向對象的封裝性更強!

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

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



參考:https://www.jianshu.com/p/7e3b9bed84f5


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM