小弟學了物件導向也有一年了,接下來是小弟對物件導向,面向過程的一些認識。
初學物件導向的時候。每當拿到一本書老是想去看他是如何介紹物件導向和面向過程的。
但是學了一年多
後來慢慢的發現如果有人想用一兩句話去劃清二者的關係,說明他對這個根本不清楚。
我慢慢的發現二者的輪廓不在那麼清晰,相反變得模糊起來。我認為二者本身就是血肉相連的。
比如我認為之所以有物件導向是由於現實世界中存在著分層分類的思想。當然分為三六九等並不總是壞事,這讓大家各司其職,從而能夠緊密協作。不在需要又乙個人協調處理各種事物,否則只能像我所崇拜的偶像孔明先生一樣,病死五丈原。
於是有人拿物件導向中**的處理不需要外界知道,只需要提供外部介面。或者物件導向使得**更為緊湊,資料封裝的更為隱秘。來說明二者的區別。但是我認為這些都不是二者區別的核心體現。或者說當你試圖用這些去證明你的論斷時就已經陷入誤區
個人認為面向過程模組化處理也使得**很緊湊內聚性很強,耦合性很弱。其實我個人更認為面向過程過程化緊湊化思想更是一種向物件導向的逼近,是由於這種過程化的不斷深入衍生出物件導向。二者本身沒有什麼區別,只是乙個繼承了另乙個,然後豐富了自己。
因為作為乙個程式設計師大家應該明白我們不會自己去做乙個成品,我們需要團隊合作,每人做一些,而在整合的時候無論你是用物件導向寫還是面向過程寫,大家都不會想去了解你**的走向
所以本身就為了能夠順利處理問題然後引發過程化,模組化。然後為了更能例項到現實邏輯引發了類,當然類就由於先代以及今人的努力具有了繼承,多型等一系列優點。
但是我想大家都應該承認即便是利用c#什麼的,我們也能寫出很完美的面向過程的**。相對於認為二者有很大的區別,我更願意相信物件導向繼承了面向過程。
物件導向使得我們能夠用一種更深入人心,更貼近現實的方式去思考我們遇到的問題。讓我們以人類的思維方式去思考**的世界。所以沒有理由懷疑如果有了更加先進的思考工作方式,物件導向會進一步發展,當然這就需要我們的努力了。
物件導向即便提供了外部介面,但本質上還是離不開迴圈,順序,選擇語句的使用。就好像大家在說明c#中指代的時候老喜歡拿函式指標模擬,這不就是刺果果的進化嗎。
以前我和別人就物件導向以及面向過程做乙個辯論的時候(當然現在覺得以前的想法是錯的,因為我也在用外部介面來說明二者的區別
在此與各位大神們共勉,並且立志學習大神(超越大神
物件導向過程與物件導向
物件導向過程與物件導向 1 程式的發展經歷了兩個階段 面向過程 物件導向。2 對於物件導向與面向過程可以用乙個例子解釋,如乙個木匠要做乙個盒子,那麼這個盒子的出發點會有兩種方式 物件導向 先想好要做的盒子,之後在去找相應的工具去做。面向過程 不去想要做什麼樣的盒子,隨需取工具。物件導向三大特徵 封裝...
物件導向與面向過程
分析出解決問題所需要的步驟,然後用函式把步驟分解開,使用時再呼叫這些函式。面向過程強調流程化 線性化 步驟化的思考方式 把構成問題事務分解成各個物件,描述各個事務在問題中的行為。強調整體性和差異性。具有抽象 封裝,繼承,多型 面向過程效率高 流程明確,具體步驟清楚 但耗費精力,重用率低 擴充套件能力...
物件導向與面向過程
一 面向過程程式設計 面向過程程式設計是一種以過程為中心的程式設計思想,分析出解決問題的步驟,然後用函式把這些步驟一步一步實現。面向過程程式設計,資料和對資料的操作是分離的。二 物件導向程式設計 物件導向程式設計是將事物物件化,通過物件通訊來解決問題。物件導向程式設計,資料和對資料的操作是繫結在一起...