回覆列表
-
1 # 孤鷹瞰天下
-
2 # FIRE
程式設計界有一句很經典的話就是萬物皆物件,雖然這句話看起來很模糊,實則是有一定的道理的。
物件、例項、類、父類、超類,這些都是專業的術語,為了清晰的表達我用舉例子的形式表達的更加清晰。
類是具有相同屬性和服務的一組物件的集合。例如:地上的小轎車車就是一個類,他們都有四個車輪胎,都有四個座位。
物件是系統中用來描述客觀事物的一個實體,是構成系統的一個基本單位。一個物件由一組屬性和對這組屬性進行操作的一組服務組成。例如:小轎車分為很多種,本田、豐田、奧迪、寶馬等。莫一天,我買了一臺本田,其中本田就是物件。而我買了一個就是一個例項,某種情況下我們也可以說物件就是例項。
超類和父類,我更願意理解為是具有共同特徵的某類事物的集合。
例如:小汽車這個類,四座的、四個輪胎、一個發動機我們都可以定義為小汽車的父類。
我們以“白馬非馬”這個典故來講一下這幾個概念之間的關係吧。
馬,是一個名詞,一個概念,泛指長的像驢和騾子的那種動物,吃草的,一般生活在大草原上,古代打仗的代步工具,現代騎兵的坐騎,視覺效果如下圖所示:
上面說了這麼多,你可能對馬還是沒有一個具體的概念,為了搞清楚這個問題,你可能需要對“馬”這個東西作一個詳細的歸類,這就產生了“類”的概念,你可以對馬這個東西的類別作如下的說明:
類別 馬:
身高
體長
體重
食性
四肢
毛色
...
其實上面的“類別 馬”,就是對馬這個概念做了一個“類”的定義,這就是類,如果對類下一個科學的定義,我的理解是:
類,就是對某種事物的一種描述,描述是透過列舉各種特性來細化的。
例項就是一種具體的馬,比如汗血寶馬,物件跟例項在程式設計領域的意思是相同的,都是指一種具體的馬。
超類和父類的概念又是相同的,在程式設計領域,超類和父類是類的子集,即只包含類的屬性集的一小部分,在馬這個例子中,哺乳動物就是馬的超類或父類,有蹄動物也是馬的超類或父類,植食動物也是馬的超類或父類,即只有具備馬的屬性集中的一個,就可以是馬的超類或父類。