1. 程式人生 > >反思任務:面向物件的核心思想,三大特性以及面向過程的區別

反思任務:面向物件的核心思想,三大特性以及面向過程的區別

一:面向物件的核心思想:

物件作為程式的基本單元,將程式和資料封裝在其中,以提高軟體的複用性,靈活性以及可擴充套件性

二:三大特性:

繼承,封裝,多型

三:面向物件的簡介:人們應該按照這個世界的本來面貌去理解世界

簡言之就是以現實世界中的事物為基本單位去進行程式開發,程式中的一些功能可以通過事物之間的關係和自身的描述進行體現。

從現實世界中客觀存在的事物(即物件)出發來構造軟體系統,並在系統構造中儘可能運用人類的自然思維方式,強調直接以問題域(現實世界)中的事物為中心來思考問題,認識問題,並根據這些事物的本質特點,把它們抽象地表示為系統中的物件,作為系統的基本構成單位(而不是用一些與現實世界中的事物相關比較遠,並且沒有對應關係的其它概念來構造系統)。這可以使系統直接地對映問題域,保持問題域中事物及其相互關係的本來面貌。

如何理解:

  1. 從世界觀的角度可以認為:面向物件的基本哲學是認為世界是由各種各樣具有自己的運動規律和內部狀態的物件所組成的;不同物件之間的相互作用和通訊構成了完整的現實世界。因此,人們應當按照現實世界這個本來面貌來理解世界,直接通過物件及其相互關係來反映世界。這樣建立起來的系統才能符合現實世界的本來面目。
  2. 從方法學的角度可以認為:面向物件的方法是面向物件的世界觀在開發方法中的直接運用。它強調系統的結構應該直接與現實世界的結構相對應,應該圍繞現實世界中的物件來構造系統,而不是圍繞功能來構造系統

四:面向物件與面向過程的區別

  1.   “面向過程”是一種是事件為中心的程式設計思想。就是分析出解決問題所需的步驟,然後用函式把這寫步驟實現,並按順序呼叫。
  2.   ”面向物件“是以“物件”為中心的程式設計思想。將構成問題的事物分解成一個個物件,建立物件的目的不是為了完成解決問題的某一個步驟,而是為了描述問題中的事物在解決這個問題的步驟中所具有的行為。
  3. 面向過程的思維方式是分析綜合。面向物件的思維方式是構造。
  4. 面向過程和麵向物件的本質區別在於分析方式的不同,最終導致了程式碼的不同。

在軟體開發過程中,巨集觀上,用面向物件來把握事物間複雜的關係,分析系統。微觀上,仍然使用面向過程。

以OO為例,對應於軟體開發的過程,OO衍生出3個概念:OOA、OOD和OOP。採用面向物件進行分析的方式稱為OOA,採用面向物件進行設計的方式稱為OOD,採用面向物件進行編碼的方式稱為OOP。面向過程(OP)和麵向物件(OO)本質的區別在於分析方式的不同,最終導致了編碼方式的不同。

總的來說:

                   面向物件是將事物高度抽象化

                   面向過程是一種自頂向下的程式設計

                   面向物件必須先建立抽象模型,之後直接使用模型就行了。