面向对象模型的四种核心技术
1、分類
????類是具有相同屬性結(jié)構(gòu)和操作方法的對(duì)象的集合,屬于同一類的對(duì)象具有相同的屬性結(jié)構(gòu)和操作方法。分類是把一組具有相同屬性結(jié)構(gòu)和操作方法的對(duì)象歸納或映射為一個(gè)公共類的過(guò)程。對(duì)象和類的關(guān)系是“實(shí)例”(instance-of)的關(guān)系。
????同一個(gè)類中的若干個(gè)對(duì)象,用于類中所有對(duì)象的操作都是相同的。屬性結(jié)構(gòu)即屬性的表現(xiàn)形式相同,但它們具有不同的屬性值。所以,在面向?qū)ο蟮臄?shù)據(jù)庫(kù)中,只需對(duì)每個(gè)類定義一組操作,供該類中的每個(gè)對(duì)象使用,而類中每一個(gè)對(duì)象的屬性值要分別存儲(chǔ),因?yàn)槊總€(gè)對(duì)象的屬性值是不完全相同的。例如,在面向?qū)ο蟮牡乩頂?shù)據(jù)模型中,城鎮(zhèn)建筑可分為行政區(qū)、商業(yè)區(qū)、住宅區(qū)、文化區(qū)等若干個(gè)類。以住宅區(qū)類而論,每棟住宅作為對(duì)象都有門牌號(hào)、地址、電話號(hào)碼等相同的屬性結(jié)構(gòu),但具體的門牌號(hào)、地址、電話號(hào)碼等是各不相同的。當(dāng)然,對(duì)它們的操作方法如查詢等都是相同的。
2、概括
????概括是把幾個(gè)類中某些具有部分公共特征的屬性和操作方法抽象出來(lái),形成一個(gè)更高層次、更具一般性的超類的過(guò)程。子類和超類用來(lái)表示概括的特征,表明它們之間的關(guān)系是“即是”(is—a)關(guān)系,子類是超類的一個(gè)特例。
????作為構(gòu)成超類的子類還可以進(jìn)一步分類,一個(gè)類可能是超類的子類,同時(shí)也可能是幾個(gè)子類的超類。所以,概括可能有任意多層次。例如,建筑物是住宅的超類,住宅是建筑物的子類,但如果把住宅的概括延伸到城市住宅和農(nóng)村住宅,則住宅又是城市住宅和農(nóng)村住宅的超類。
????概括技術(shù)的采用避免了說(shuō)明和存儲(chǔ)上的大量冗余,因?yàn)樽≌刂贰㈤T牌號(hào)、電話號(hào)碼等是“住宅”類的實(shí)例(屬性),同時(shí)也是它的超類“建筑物”的實(shí)例(屬性)。當(dāng)然,這需要一種能自動(dòng)地從超類的屬性和操作中獲取子類對(duì)象的屬性和操作的機(jī)制。
3、聚集
????聚集是將幾個(gè)不同類的對(duì)象組合成一個(gè)更高級(jí)的復(fù)合對(duì)象的過(guò)程。術(shù)語(yǔ)“復(fù)合對(duì)象”用來(lái)描述更高層次的對(duì)象,“部分”或“成分”是復(fù)合對(duì)象的組成部分,“成分”與“復(fù)合對(duì)象”的關(guān)系是“部分”(parts—of)的關(guān)系,反之“復(fù)合對(duì)象”與“成分”的關(guān)系是“組成”的關(guān)系。例如,醫(yī)院由醫(yī)護(hù)人員、病人、門診部、住院部、道路等聚集而成。
????每個(gè)不同屬性的對(duì)象是復(fù)合對(duì)象的一個(gè)部分,它們有自己的屬性數(shù)據(jù)和操作方法,這些是不能為復(fù)合對(duì)象所公用的,但復(fù)合對(duì)象可以從它們那里派生得到一些信息。復(fù)合對(duì)象有自己的屬性值和操作,它只從具有不同屬性的對(duì)象中提取部分屬性值,且一般不繼承子類對(duì)象的操作。這就是說(shuō),復(fù)合對(duì)象的操作與其成分的操作是不兼容的。
4、聯(lián)合
????聯(lián)合是將同一類對(duì)象中的幾個(gè)具有部分相同屬性值的對(duì)象組合起來(lái),形成一個(gè)更高水平的集合對(duì)象的過(guò)程。術(shù)語(yǔ)“集合對(duì)象”描述由聯(lián)合而構(gòu)成的更高水平的對(duì)象,有聯(lián)合關(guān)系的對(duì)象稱為成員,“成員”與“集合對(duì)象”的關(guān)系是“成員”(member—of)的關(guān)系。
????在聯(lián)合中,強(qiáng)調(diào)的是整個(gè)集合對(duì)象的特征,而忽略成員對(duì)象的具體細(xì)節(jié)。集合對(duì)象通過(guò)其成員對(duì)象產(chǎn)生集合數(shù)據(jù)結(jié)構(gòu),集合對(duì)象的操作由其成員對(duì)象的操作組成。例如,一個(gè)農(nóng)場(chǎng)主有三個(gè)水塘,它們使用同樣的養(yǎng)殖方法,養(yǎng)殖同樣的水產(chǎn)品,由于農(nóng)場(chǎng)主、養(yǎng)殖方法和養(yǎng)殖水產(chǎn)品等三個(gè)屬性都相同,故可以聯(lián)合成一個(gè)包含這三個(gè)屬性的集合對(duì)象。
????聯(lián)合與概括在概念上不同。概括是對(duì)類進(jìn)行抽象概括;而聯(lián)合是對(duì)屬于同一類的對(duì)象進(jìn)行抽象聯(lián)合。聯(lián)合有點(diǎn)類似于聚集,所以在許多文獻(xiàn)中將聯(lián)合的概念附在聚集的概念中,都使用傳播工具提取對(duì)象的屬性值。
轉(zhuǎn)載于:https://www.cnblogs.com/Athrun/archive/2007/03/15/675436.html
總結(jié)
以上是生活随笔為你收集整理的面向对象模型的四种核心技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “身与粪壤并”下一句是什么
- 下一篇: 鲜活海参多少钱一斤?