所有的事物都有兩個方面:
有什麼(屬性):用來描述物件。
能夠做什麼(方法):告訴外界物件有那些功能。
後者以前者為基礎。
大的物件的屬性也可以是乙個物件。
為什麼要使用物件導向:
首先,物件導向符合人類看待事物的一般規律。
物件的方法的實現細節是遮蔽的,只有物件方法的實現者了解細節。
方法的定義非常重要。方法有引數,也可能有返回值。
注意區分:物件(本身)、物件的實現者、物件的呼叫者。
分析物件主要從方法開始。
我們通過類來看待物件,類是物件的抽象。
其次,採用物件導向方法可以使系統各部分各司其職、各盡所能。
物件之間的耦合性一定要低(比如不同硬碟和不同主機板之間的關係)。
這樣才能使每個物件本身做成最好的。
對於物件的要求:高內聚、低耦合,這樣容易拼裝成為乙個系統。
實現高內聚就是要最大限度低提高復用性(復用性好是因為高內聚)。
可復用性是oop
的基礎。
比較面向過程的思想和物件導向的思想:
面向過程的思想:由過程、步驟、函式組成,以過程為核心;
物件導向的思想:以物件為中心,先開發類,得到物件,通過物件之間相互通訊實現功能。
面向過程是先有演算法,後有資料結構。
物件導向是先有資料結構,然後再有演算法。
在用物件導向思想開發的過程中,可以復用物件就進行復用,如無法進行復用則開發新的物件。
開發過程是用對個簡單的物件的多個簡單的方法,來實現複雜的功能 。
從語法上來看,乙個類是乙個新的資料型別。
在物件導向程式設計中,除了簡單資料型別,就是物件型別。
物件導向與面向過程區別
物件導向是以事物為中心的程式設計思想,把構建問題事務分解成各個物件,建立物件的目的是為了描述某個事物在整個解決問題的步驟中的行為 面向過程是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用時依次呼叫就可以了 區別 物件導向程式設計,往往是從問題的一部分著手,一點一點地構建出整個程式...
物件導向與面向過程的區別
面向過程就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候乙個乙個依次呼叫就可以了。物件導向是把構成問題事務分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。例如五子棋,面向過程的設計思路就是首先分析問題的步驟 1 開始遊...
面向過程與物件導向的區別
面向過程 1 現實世界是物件,分析階段是物件,在設計及開發階段是方法與方法之間的呼叫,與現實世界 分析階段不統一,容易出現偏差,增加了開發的難度,容易 出問題。2 因為方法與方法之間的直接呼叫,讓我們系統依賴底層具體實現,而不是 依賴高層概念及巨集觀的商業邏輯。3 方法與方法之間有呼叫 的藕合度太,...