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