面向過程和面向對象
面向過程和面向對象有什么區別?
從語言方面出發:
對于c語言來說,是完全面向過程的
對于c++語言來說,是一半面向過程,一半是面向對象。(c++是半面向對象的)
對于java語言來說,是完全面向對象的
面向過程的開發方式主要的特點是:
注重步驟,注重的是實現這個功能的步驟。
第一步干什么
第二步干什么
另外面向過程也注重實現功能的因果關系。
因為….所以…
面向過程中沒對象的概念,只是實現這個功能的步驟以及因果關系。
面向過程有什么缺點?(耦合度高,擴展力低)
面向過程最主要是每一步與每一步的因果關系,其中A步驟因果關系到B步驟,A和B聯合起來形成一個子模塊,子模塊和子模塊之間又因為因果關系結合在一起,假設其中任何一個因果關系出現問題,此時整個系統的運轉都會出現問題。(代碼和代碼支架您的耦合度太高,擴展力太差)
螺絲和螺母擰在一起,耦合度高嗎?
這是耦合度低的,因為螺絲螺母可以在擰開(他們之間是有接口的)
螺絲螺母擰在一起之后,再用焊條焊接在一起,耦合度高嗎?
這個耦合度就很高了,耦合度就是黏連程度。
往往耦合度高的擴展力就差。
耦合度高導致擴展力差:集成顯卡
耦合度低導致擴展力強:螺絲和螺母
采用面向過程的方式開發一臺計算機會是怎樣?
這臺計算機將沒有任何一個部件,所有的都是融合在一起的
你的這臺計算機是一個實心兒的,沒有部件的,一體機。
假設這臺一體機的任何一個部位出問題,整個計算機就不能用了
必須扔掉了(沒有對象的概念)
采用面向對象的方式開發一臺計算機會是怎樣?
內存條是一個對象
主板是一個對象
CPU是一個對象
硬盤是一個對象
然后這些對象組裝在一起,形成一臺計算機
假設其中CPU壞了,我們可以將CPU差襲來,換一個新的。
面向過程有什么優點?
對于小型項目(功能),采用面向過程的方式進行開發,效率較高,不需要前期進行對象的提取,模型的建立,采用面向過程方式可以直接開始干活,一上來直接寫代碼,編寫因果關系,從而實現功能。
什么是面向對象的開發方式?
采用面向對象的方式進行開發,更符合人類的思維方式。(面向對象成為主流的原因)
人類就是以對象的方式去認識世界的。所以面向對象更容易讓我們接受。
面向對象就是將現實世界分割成不同的單元,然后每一個單元都實現成對象,然后驅動一下,讓各個對象之間協作起來形成一個系統。
采用面向對象的方式進行開發:
耦合度低,拓展力強。
面向過程主要關注的是:實現步驟以及整個過程。
面向對象主要關注的是:對象A,對象B,對象C,然后對象ACB組合……
當我們采用面向對象的方式貫穿整個系統的話,涉及到三個術語:
OOA:面向對象分析
OOD:面向對象設計
OOP:面向對象編程
整個軟件開的過程,都是采用OO進行貫穿的。
面向對象的三大特征:
封裝
繼承
多態
任何一門面向對象的編程語言都具備以上三大特征例如:Python,C#,java…..
面向對象編程
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。