物件導向思想(一)

2021-06-27 20:00:19 字數 1167 閱讀 6666

1.什麼是物件導向思想?

2.類和物件

3.物件導向程式設計的三大特性

1.什麼是物件導向思想?

確確的說,還沒有人能為物件導向給出乙個全面的定義;至少到目前為止我沒發現有,以後可能更難了定義,因為物件導向擴充套件涵蓋到領域越來越廣泛了。我是這麼理解的:物件導向思想就是把世界看作是由各種各樣具有自己內部特徵和運動規律的結構單元組成的;

不同結構單元之間的相互作用和通訊構成了完整的現實世界。這個世界就是系統(當然也可以說世界是乙個很大的物件,物件裡面有很多物件作為他的屬性),而結構單元就是系統裡面的物件;結構單元裡面的特徵和運動規律就是物件的屬性和行為。因此,物件導向思想認為:人們應當按照現實世界這個本來面貌來理解世界,直接通過物件及其相互關係來反映世界。這樣建立起來的系統才能符合現實世界的本來面目。

它強調系統的結構應該直接與現實世界的結構相對應,應該圍繞現實世界中的物件來

構造系統

,而不是圍繞功能來構造系統。

2.類和物件

如果把世界看作系統或者物件;物件那麼多,物件之間有相同的部分(特徵/行為)

和不同的部分(特徵/行為);

那麼那些物件導向的語言是如何做到物件導向思想的呢?他們是通過引入乙個叫類的抽象結構。在物件導向程式設計裡面,類的作用就是將一組物件中相同的部分(特徵和行為)進行抽象;不同部分通過類的繼承來獲取共同特徵和行為,自然而然的引入父類和子類的概念,子類繼承父類,子類可以擁有父類所擁有的特徵和行為,同時子類可以擁有自己的特徵和行為。類是抽象的,類宣告成物件之後,物件時具體的;也就是說:對於現實世界而言,類是具體的;但是對於類宣告出來的物件而言,類是抽象的。也就是說從現實世界到類再到物件,是乙個從普遍到特殊的過程。

3.物件導向程式設計的三大特性

物件導向程式設計有三大特性:繼承/封裝/多型。繼承主要是使子類可以延用父類的特徵和行為。關於封裝,主要是安全性考慮的;物件的某些敏感特徵和行為應當隱藏在內部,外部只能通過指定介面訪問該物件的這些敏感特徵和行為,從而提高物件到安全性。主關於多型,這裡要引入乙個叫「黎克特制替換原則」的概念:是一種契約,就是父類出現的地方子類都可以出現,或者說成是父類物件出現的地方都可以用子類物件來替換或者例項化。因此,當我們用父類宣告乙個物件變數,卻用乙個子類的初始化方法例項化了該物件,那麼執行時呼叫的該物件多方法並非宣告的父類的方法,而是子類覆蓋父類之後的子類裡的方法。

C 物件導向思想(一)

相比c,c 多出來一些東西來,類定義 繼承 過載 覆蓋 類動態編譯 抽象類虛函式 模板。這些東西非常有用,但怎麼用,像我這種小白,就有些難過了,世界最遙遠的距離就是雖然學習了物件導向,可是用起來還是如同面向過程一樣粗暴 首先我們需要了解什麼是物件導向思想 物件便是我們接觸的事物,有屬性有動作。而物件...

物件導向思想

物件導向思想 物件導向是以現實生活中客觀存在的食物 即物件 來構造軟體系統,並在系統構造中盡可能運用人類的自然思維方式,強調直接以食物物件為中心來思考 分析問題,並根據事物的本質特徵將其抽象為系統中的物件,作為系統的基本構成單位。物件導向思想主要分為3個主要部分 物件導向分析 物件導向設計 物件導向...

物件導向思想

is a基於類繼承或介面實現,is a 是表達這句話的一種方式 這個東西是那個東西的一種 例如 野馬是一種馬。是乙個 has a關係是基於用法 即引用 而不是繼承。換句話說,如果類a中的 具有對類 b例項的引用,則 類 a has a類b 例如 馬有韁繩。有乙個 is a 代表的是類之間的繼承關係,...