對象類 一個類定義了一組對象。類具有行為(be-havoir),它描述一個對象能夠做什么以及做的方法(method),它們是可以對這個對象進行操作的程序和過程。對象實例 一個對象是一個類的一個實例,它代表一個現(xiàn)實物理“事件”,例如在一個財物系統(tǒng)數(shù)據(jù)庫中的一個顧客或一個庫存部分。類的繼承(class inheritance)是一個重要的概念,它為一個子類繼承它的父類的內(nèi)置描述提供了途徑。在父類中使用的代碼被向下傳給這個類指定的一個類(子類)。 [1] 例如,一個面向?qū)ο蟮臄?shù)據(jù)庫可以有一個稱為“client”的類,這個類有兩個子類,分別稱為“company”和“individual”。首先,創(chuàng)立稱為“client”的對象。它包含一個結(jié)構(gòu)和一些過程,這些過程處理數(shù)據(jù)和從對象之外獲得信息。然后,company和individual對象作為client的子類進行定義。作為一個子類,它們繼承client對象的結(jié)構(gòu)和特征,但是這些特征中的一些可能被屏蔽,或可以增加一些附加特征。例如,company子類可以具有一個特定的折算,而individua1子類卻不具有。如果你需要一個關(guān)于客戶的列表,你可以請求client對象進行列表。然而,如果你希望知道客戶的賬目平衡,你就需要從每個包含客戶平衡的子類對象獲得信息。 [1] 對象包含數(shù)據(jù)和過程,并且當被請求時提供信息。想象一個包含數(shù)據(jù)的箱子,它有一些按鈕,你可以按這些按鈕來對數(shù)據(jù)運行過程。方法是,一些對對象進行操作的過程或程序,它們可以使對象根據(jù)對象的內(nèi)部代碼和結(jié)構(gòu)來以特定的形式進行動作。相似地,可以對對象的不同的類進行操作。有一個概念稱為多態(tài)性(poly-morphism)或重載(overloading)。使用多態(tài)性,一組通用的方法可以在很大范圍的類上進行操作。然而,具有相同名字和稱呼的方式卻可能誘發(fā)不同的事情。例如,在文本數(shù)據(jù)的“next”導(dǎo)致光標跳到下一個工作,而在電子表格的“next”卻導(dǎo)致光標跳到下一個單元。
對象通過發(fā)送消息與另一個對象對話。這些消息在本質(zhì)上是通過按下對象上的“按鈕”從對象請求過程。在一個網(wǎng)絡(luò)環(huán)境,你可以查看和消息總線相連的對象,如圖O-4所示。消息傳遞為對象在一個面向?qū)ο蟮姆植际接嬎悱h(huán)境進行通信提供了一條有效途徑。消息傳遞是一種存儲再轉(zhuǎn)發(fā)方式,就象在電子函件系統(tǒng)中使用的那樣。消息被從一臺計算機傳送到另一臺計算機,直到它們抵達目的地。 [1] 所有這些都加到軟件中,它們易于維護,并且在連續(xù)的基礎(chǔ)之上改進,即無需對整個系統(tǒng)進行重新設(shè)計。對象是可重用的,使得系統(tǒng)增長時,它易于加入系統(tǒng),這是因為在現(xiàn)有對象中的代碼對創(chuàng)造新的對象是可重用的。 [1] 對象系統(tǒng)是可擴展的,開發(fā)人員增加模塊,而模塊重用內(nèi)置數(shù)據(jù)結(jié)構(gòu),無需重編譯操作系統(tǒng)。易于建造系統(tǒng),這是因為面向?qū)ο髮υO(shè)計系統(tǒng)和實現(xiàn)系統(tǒng)提供了一條很自然的途徑。對象可以提供了一種通用接口,因而許多不同應(yīng)用程序能夠訪問數(shù)據(jù)。
也有許多不利的方面,包括大量增加了前端設(shè)計的時間,減低了性能和技術(shù)的不成熟。然而,隨著系統(tǒng)的成長和硬件的不斷強大,這些不利可以減退。這些缺陷,在對象系統(tǒng)可以在遍布分布網(wǎng)絡(luò)上的許多不同類型的系統(tǒng)上向用戶提供數(shù)據(jù)這一事實面前,也會減少。 [1] Objects in Distributed Environments 分布式環(huán)境中的對象對象技術(shù)被認為對實現(xiàn)未來的分布式系統(tǒng)是很有生命力的。這樣,系統(tǒng)的復(fù)雜性可以通過實現(xiàn)消息傳遞服務(wù)(如對象請求代管器)的模型而簡化。對象只是簡單地請求服務(wù),并且其他對象提供這些服務(wù)。開發(fā)人員不需要更多地知道對象將在上面通信的系統(tǒng)情況。事實上,對象技術(shù)為局部使用、將來擴展到異構(gòu)分布式環(huán)境、設(shè)計應(yīng)用提供了途徑。 [1] 在這一領(lǐng)域的發(fā)展包括:對象管理組織(OMG)的公用對象請求代管器體系結(jié)構(gòu)(CORBA)是一種規(guī)范,它的設(shè)計是為對象產(chǎn)生和接收請求提供了途徑。Microsoft的對象鏈接和嵌入(OLE),為在單一臺式系統(tǒng)或一個網(wǎng)絡(luò)上的應(yīng)用程序共享數(shù)據(jù)提供了一條途徑。IBM的系統(tǒng)對象模型(SOM)和分布式系統(tǒng)對象模型(DSOM)提供了低級對象語言O(shè)penDoc是一種為共享文本、圖形和多媒體對象,而由Apple、Borland、IBM、Novel1和WordPerfect等公司開發(fā)的開發(fā)環(huán)境。 [1] 相關(guān)條目:Cario;Common Object Model 公用對象模型;Common Object Request Broker Architecture 公用對象請求代管器體系結(jié)構(gòu);Compound Documents 復(fù)合文檔;Object Broker,DEC DEC的Object Broker;Object Linking and Embedding對象鏈接和嵌入;Object Management Architecture對象管理體系結(jié)構(gòu);Object-Oriented Interfaces and Operating Systems面向?qū)ο蟮慕涌诤筒僮飨到y(tǒng);Object Request Broker 對象請求代管器;Workplace OS。