因業(yè)務(wù)需要,“中科永聯(lián)”正式更名為“中程在線(xiàn)”,歡迎大家瀏覽新網(wǎng)站“中程在線(xiàn)信息產(chǎn)業(yè)培訓網(wǎng)”
中科永聯(lián)高級技術(shù)培訓中心(www.itisedu.com)
面向對象方法(Object-Oriented Method)是一種把面向對象的思想應用于軟件開(kāi)發(fā)過(guò)程中,指導開(kāi)發(fā)活動(dòng)的系統方法,簡(jiǎn)稱(chēng)OO (Object-Oriented)方法,是建立在“對象”概念基礎上的方法學(xué)。對象是由數據和容許的操作組成的封裝體,與客觀(guān)實(shí)體有直接對應關(guān)系,一個(gè)對象類(lèi)定義了具有相似性質(zhì)的一組對象。而每繼承性是對具有層次關(guān)系的類(lèi)的屬性和操作進(jìn)行共享的一種方式。所謂面向對象就是基于對象概念,以對象為中心,以類(lèi)和繼承為構造機制,來(lái)認識、理解、刻畫(huà)客觀(guān)世界和設計、構建相應的軟件系統。
面向對象方法作為一種新型的獨具優(yōu)越性的新方法正引起全世界越來(lái)越廣泛的關(guān)注和高度的重視,它被譽(yù)為"研究高技術(shù)的好方法",更是當前計算機界關(guān)心的重點(diǎn)。十多年來(lái),在對OO方法如火如荼的研究熱潮中,許多專(zhuān)家和學(xué)者預言:正象70年代結構化方法對計算機技術(shù)應用所產(chǎn)生的巨大影響和促進(jìn)那樣,90年代OO方法會(huì )強烈地影響、推動(dòng)和促進(jìn)一系列高技術(shù)的發(fā)展和多學(xué)科的綜合。
一、面向對象方法的由來(lái)與發(fā)展
回顧歷史可激勵現在,以規劃將來(lái)。
OO方法起源于面向對象的編程語(yǔ)言(簡(jiǎn)稱(chēng)為OOPL)。50年代后期,在用FORTRAN語(yǔ)言編寫(xiě)大型程序時(shí),常出現變量名在程序不同部分發(fā)生沖突的問(wèn)題。鑒于此,ALGOL語(yǔ)言的設計者在A(yíng)LGOL60中采用了以"Begin……End"為標識的程序塊,使塊內變量名是局部的,以避免它們與程序中塊外的同名變量相沖突。這是編程語(yǔ)言中首次提供封裝(保護)的嘗試。此后程序塊結構廣泛用于高級語(yǔ)言如Pascal、Ada、C之中。
60年代中后期,Simula語(yǔ)言在A(yíng)LGOL基礎上研制開(kāi)發(fā),它將ALGOL的塊結構概念向前發(fā)展一步,提出了對象的概念,并使用了類(lèi),也支持類(lèi)繼承。70年代,Smalltalk語(yǔ)言誕生,它取Simula的類(lèi)為核心概念,它的很多內容借鑒于Lisp語(yǔ)言。由Xerox公司經(jīng)過(guò)對Smautalk72、76持續不斷的研究和改進(jìn)之后,于1980年推出商品化的,它在系統設計中強調對象概念的統一,引入對象、對象類(lèi)、方法、實(shí)例等概念和術(shù)語(yǔ),采用動(dòng)態(tài)聯(lián)編和單繼承機制。
從80年代起,人們基于以往巳提出的有關(guān)信息隱蔽和抽象數據類(lèi)型等概念,以及由Modula2、Ada和Smalltalk和等語(yǔ)言所奠定的基礎,再加上客觀(guān)需求的推動(dòng),進(jìn)行了大量的理論研究和實(shí)踐探索,不同類(lèi)型的面向對象語(yǔ)言(如:Object-c、Eiffel、c++、Java、Object-Pascal等)逐步地發(fā)展和建立起較完整的和雨后春筍般研制開(kāi)發(fā)出來(lái),OO方法的概念理論體系和實(shí)用的軟件系統。
面向對象源出于Simula,真正的OOP由Smalltalk奠基。Smalltalk現在被認為是最純的OOPL。
正是通過(guò)Smalltalk80的研制與推廣應用,使人們注意到OO方法所具有的模塊化、信息封裝與隱蔽、抽象性、繼承性、多樣性等獨特之處,這些優(yōu)異特性為研制大型軟件、提高軟件可靠性、可重用性、可擴充性和可維護性提供了有效的手段和途徑。
80年代以來(lái),人們將面向對象的基本概念和運行機制運用到其它領(lǐng)域,獲得了一系列相應領(lǐng)域的面向對象的技術(shù)。面向對象方法已被廣泛應用于程序設計語(yǔ)言、形式定義、設計方法學(xué)、操作系統、分布式系統、人工智能、實(shí)時(shí)系統、數據庫、人機接口、計算機體系結構以及并發(fā)工程、綜合集成工程等,在許多領(lǐng)域的應用都得到了很大的發(fā)展。1986年在美國舉行了首屆"面向對象編程、系統、語(yǔ)言和應用(OOPSLA‘86)"國際會(huì )議,使面向對象受到世人矚目,其后每年都舉行一次,這進(jìn)一步標志OO方法的研究已普及到全世界。
二、面向對象的基本概念與特征
用計算機解決問(wèn)題需要用程序設計語(yǔ)言對問(wèn)題求解加以描述(即編程),實(shí)質(zhì)上,軟件是問(wèn)題求解的一種表述形式。顯然,假如軟件能直接表現人求解問(wèn)題的思維路徑(即求解問(wèn)題的方法),那么軟件不僅容易被人理解,而且易于維護和修改,從而會(huì )保證軟件的可靠性和可維護性,并能提高公共問(wèn)題域中的軟件模塊和模塊重用的可靠性。面向對象的機能念和機制恰好可以使得按照人們通常的思維方式來(lái)建立問(wèn)題域的模型,設計出盡可能自然地表現求解方法的軟件。
面向對象的基本概念
對象:對象是要研究的任何事物。從一本書(shū)到一家圖書(shū)館,單的整數到整數列龐大的數據庫、極其復雜的自動(dòng)化工廠(chǎng)、航天飛機都可看作對象,它不僅能表示有形的實(shí)體,也能表示無(wú)形的(抽象的)規則、計劃或事件。對象由數據(描述事物的屬性)和作用于數據的操作(體現事物的行為)構成一獨立整體。從程序設計者來(lái)看,對象是一個(gè)程序模塊,從用戶(hù)來(lái)看,對象為他們提供所希望的行為。在對內的操作通常稱(chēng)為方法。
類(lèi):類(lèi)是對象的模板。即類(lèi)是對一組有相同數據和相同操作的對象的定義,一個(gè)類(lèi)所包含的方法和數據描述一組對象的共同屬性和行為。類(lèi)是在對象之上的抽象,對象則是類(lèi)的具體化,是類(lèi)的實(shí)例。類(lèi)可有其子類(lèi),也可有其它類(lèi),形成類(lèi)層次結構。
消息:消息是對象之間進(jìn)行通信的一種規格說(shuō)明。一般它由三部分組成:接收消息的對象、消息名及實(shí)際變元。
面向對象主要特征:
封裝性:封裝是一種信息隱蔽技術(shù),它體現于類(lèi)的說(shuō)明,是對象的重要特性。封裝使數據和加工該數據的方法(函數)封裝為一個(gè)整體,以實(shí)現獨立性很強的模塊,使得用戶(hù)只能見(jiàn)到對象的外特性(對象能接受哪些消息,具有那些處理能力),而對象的內特性(保存內部狀態(tài)的私有數據和實(shí)現加工能力的算法)對用戶(hù)是隱蔽的。封裝的目的在于把對象的設計者和對象者的使用分開(kāi),使用者不必知曉行為實(shí)現的細節,只須用設計者提供的消息來(lái)訪(fǎng)問(wèn)該對象。
繼承性:繼承性是子類(lèi)自動(dòng)共享父類(lèi)之間數據和方法的機制。它由類(lèi)的派生功能體現。一個(gè)類(lèi)直接繼職其它類(lèi)的全部描述,同時(shí)可修改和擴充。
繼職具有傳達室遞性。繼職分為單繼承(一個(gè)子類(lèi)只有一父類(lèi))和多重繼承(一個(gè)類(lèi)有多個(gè)父類(lèi))。類(lèi)的對象是各自封閉的,如果沒(méi)繼承性機制,則類(lèi)對象中數據、方法就會(huì )出現大量重復。繼承不僅支持系統的可重用性,而且還促進(jìn)系統的可擴充性。
多態(tài)性:對象根據所接收的消息而做出動(dòng)作。同一消息為不同的對象接受時(shí)可產(chǎn)生完全不同的行動(dòng),這種現象稱(chēng)為多態(tài)性。利用多態(tài)性用戶(hù)可發(fā)送一個(gè)通用的信息,而將所有的實(shí)現細節都留給接受消息的對象自行決定,如是,同一消息即可調用不同的方法。例如:Print消息被發(fā)送給一圖或表時(shí)調用的打印方法與將同樣的Print消息發(fā)送給一正文文件而調用的打印方法會(huì )完全不同。多態(tài)性的實(shí)現受到繼承性的支持,利用類(lèi)繼承的層次關(guān)系,把具有通用功能的協(xié)議存放在類(lèi)層次中盡可能高的地方,而將實(shí)現這一功能的不同方法置于較低層次,這樣,在這些低層次上生成的對象就能給通用消息以不同的響應。在OOPL中可通過(guò)在派生類(lèi)中重定義基類(lèi)函數(定義為重載函數或虛函數)來(lái)實(shí)現多態(tài)性。
綜上可知,在OO方法中,對象和傳遞消息分別表現事物及事物間相互聯(lián)系的概念。類(lèi)和繼承是是適應人們一般思維方式的描述范式。方法是允許作用于該類(lèi)對象上的各種操作。這種對象、類(lèi)、消息和方法的程序設計范式的基本點(diǎn)在于對象的封裝性和類(lèi)的繼承性。通過(guò)封裝能將對象的定義和對象的實(shí)現分開(kāi),通過(guò)繼承能體現類(lèi)與類(lèi)之間的關(guān)系,以及由此帶來(lái)的動(dòng)態(tài)聯(lián)編和實(shí)體的多態(tài)性,從而構成了面向對象的基本特征。
三、面向對象的新方法論、新范型、新技術(shù)
OO方法的作用和意義決不只局限于編程技術(shù),它是一種新的程序設計范型--面向對象程序設計范型;是信息系統開(kāi)發(fā)的新方法論--面向對象方法學(xué);是正在興起的新技術(shù)--面向對象技術(shù)。
面向對象程序設計范型:程序設計范型(以下簡(jiǎn)稱(chēng)程設范型)具體指的是程序設計的體裁,正如文學(xué)上有小說(shuō)、詩(shī)歌、散文等體裁,程序設計體裁是用程序設計語(yǔ)言表達各種概念和各種結構的一套設施。
目前,程設范型分為:過(guò)程式程設范型、函數式程設范型,此外還有進(jìn)程式程設范型、事件程設范型和類(lèi)型系統程設范型。每一程設范型都有多種程序設計語(yǔ)言支持(如:FORTRAN、PASCAL、C均體現過(guò)程式程設范型,用來(lái)進(jìn)行面向過(guò)程的程序設計),而某些語(yǔ)言兼備多種范型(如:Lisp屬過(guò)程與函數混合范型,C++則是進(jìn)程與面向對象混合范型的語(yǔ)言)。
過(guò)程式程設范型是流行最廣泛的程序設計范型(人們平常所使用的程序設計語(yǔ)言大多屬于此類(lèi)型一筆勾銷(xiāo)它們?yōu)槊嫦蜻^(guò)程的語(yǔ)言),這一程設范型的中心點(diǎn)是設計過(guò)程,所以程序設計時(shí)首先要決定的是問(wèn)題解所需要的過(guò)程,然后設計過(guò)程的算法。這類(lèi)范型的語(yǔ)言必須提供設施給過(guò)程(函數)傳送變元和返回的值,如何區分不同種類(lèi)的過(guò)程(函數)、如何傳送變元是這類(lèi)程序設計中關(guān)心的主要問(wèn)題。
面向對象程設范型是在以上范型之上發(fā)展起來(lái)的,它的關(guān)鍵在于加入了類(lèi)及其繼承性,用類(lèi)表示通用特性,子類(lèi)繼承父類(lèi)的特性,并可加入新的特性。對象以類(lèi)為樣板被創(chuàng )建。所以在面向對象程設范中,首要的任務(wù)是決定所需要的類(lèi),每個(gè)類(lèi)應設置足夠的操作,并利用繼承機制里二地共享共同的特性。
簡(jiǎn)而言之,面向對象程設范型具有其它范型所缺乏或不具備的特點(diǎn),極富生命力,能夠適應復雜的大型的軟件開(kāi)發(fā)??梢钥隙ǖ卣f(shuō),這種新的程設范型必將有力地推動(dòng)軟件開(kāi)發(fā)的新的進(jìn)展。限于篇幅,其它程設范型在此不作細述。
面向對象方法學(xué):OO方法遵循一般的認知方法學(xué)的基本概念(即有關(guān)演繹--從一般到特殊和歸納--從特殊到一般的完整理論和方法體系)而建立面向對象方法等基礎。面向對象方法學(xué)要點(diǎn)之一:認為客觀(guān)世界是由各種"對象"所組成的,任何事物都是對象,每一個(gè)對象都有自已的運動(dòng)規律和內部狀態(tài),每一個(gè)對象都屬于某個(gè)對象"類(lèi)",都是該對象類(lèi)的一個(gè)元素。復雜的對象可以是由相對比較簡(jiǎn)單的各種對象以某種方式而構成的。不同對象的組合及相互作用就構成了我們要研究、分析和構造的客觀(guān)系統。面向對象方法學(xué)要點(diǎn)之二:是通過(guò)類(lèi)比,發(fā)現對象間的相似性,即對象間的共同屬性,這就是構成對象類(lèi)的依據。在?quot;類(lèi)"、"父類(lèi)"、"子類(lèi)"的概念構成對象類(lèi)的層次關(guān)系時(shí),若不加特殊說(shuō)明,則處在下一層次上的對象可自然地繼承位于上一層次上的對象的屬性。面向對象方法學(xué)齡前要點(diǎn)之三:認為對已分成類(lèi)的各個(gè)對象,可以通過(guò)定義一組"方法"來(lái)說(shuō)明該對象的功能,即允許作用于該對象上的各種操作。對象間的相互聯(lián)系是通過(guò)傳遞"消息"來(lái)完成的,消息就是通知對象去完成一個(gè)允許作用于該對象的操作,至于該對象將如何完成這個(gè)操作的細節,則是封裝在相應的對象類(lèi)的定義中的,細節對于外界是隱蔽的。
可見(jiàn),OO方法具有很強的類(lèi)的概念,因此它就能很自然地直觀(guān)地模擬人類(lèi)認識客觀(guān)世界的方式,亦即模擬人類(lèi)在認知進(jìn)程中的由一般到特殊的演繹功能或由特殊到一般的歸納功能,類(lèi)的概念既反映出對象對象的本質(zhì)屬性,又提供了實(shí)現對象共享機制的理論根據。
當我們遵照面向對象方法學(xué)的思想進(jìn)行軟件系統開(kāi)發(fā)時(shí),首先要行面向對象的分析(OOA――Object OrientedAnalysis),其任務(wù)是了解問(wèn)題域所涉及的對象、對象間的關(guān)系和作用(即操作),然后構造問(wèn)題的對象模型,力爭該模型能真實(shí)地反映出所要解決的"實(shí)質(zhì)問(wèn)題"。在這一過(guò)程中,抽象是最本質(zhì)、最重要的方法。針對不同的問(wèn)題性質(zhì)選擇不同的抽象層次,過(guò)簡(jiǎn)或過(guò)繁都會(huì )影響到對問(wèn)題的本質(zhì)屬性的了解和解決。
其次就是進(jìn)行面向對象的設計(OOD――Object Oriented Analysis),即設計軟件的對象模型。根據所應用的面向對象軟件開(kāi)發(fā)環(huán)境的功能強弱不等,在對問(wèn)題的對象模型的分析基礎上,可能要對它進(jìn)行一定的改造,但應以最少改變原問(wèn)題域的對象模型為原則。然后就在軟件系統內設設計各個(gè)對象、對象間的關(guān)系(如層次關(guān)系、繼承關(guān)系等)、對象間的通信方式(如消息模式)等,總之是設計各個(gè)對?quot;應做些什么"。
最后階段是面向對象的實(shí)現(OOI--Object OrientedZmplementation),即指軟件功能的編碼實(shí)現,它包括:每個(gè)對象的內部功能的實(shí)現;確立對象哪一些處理能力應在哪些類(lèi)中進(jìn)行描述;確定并實(shí)現系統的界面、輸出的形式及其它控制機理等,總之是實(shí)現在OOD階段所規定的各個(gè)對象所應完成的任務(wù)。
用OO方法進(jìn)行面向對象程序設計,其基本步驟如下:
?。?) 分析確定在問(wèn)題空間和解空間出現的全部對象及其屬性;
?。?) 確定應施加于每個(gè)對象的操作,即對象固有的處理能力;
?。?) 分析對象間的聯(lián)系,確定對象彼此間傳遞的消息;
?。?) 設計對象的消息模式,消息模式和處理能力共同構成對象的外部特性;
?。?) 分析各個(gè)對象的外部特性,將具有相同外部特性的對象歸為一類(lèi),從而確定所需要的類(lèi);
?。?) 確定類(lèi)間的繼承關(guān)系,將各對象的公共性質(zhì)放在較上層的類(lèi)中描述,通過(guò)繼承來(lái)共享對公共性質(zhì)的描述;
?。?) 設計每個(gè)類(lèi)關(guān)于對象外部特性的描述;
?。?) 設計每個(gè)類(lèi)的內部實(shí)現(數據結構和方法);
?。?) 創(chuàng )建所需的對象(類(lèi)的實(shí)例),實(shí)現對象間應有的聯(lián)系(發(fā)消息)。
面向對象技術(shù):技術(shù)"泛指根據生產(chǎn)實(shí)踐經(jīng)驗和自然科學(xué)原理
而發(fā)展起來(lái)的各種工藝操作方法與技能";"廣義地講,還包括相應的生產(chǎn)工具和其它物質(zhì)設備,以及生產(chǎn)的工藝過(guò)程或作業(yè)程序、方法"。OO方法既是程序設計新范型、系統開(kāi)發(fā)的新方法學(xué),作為一門(mén)新技術(shù)它就有了基本的依據,事實(shí)上,OO方法可支持種類(lèi)不同的系統開(kāi)發(fā)地,已經(jīng)或正在許多方面得以應用,因此,可以說(shuō)OO方法是一門(mén)新的技術(shù)――面向對象技術(shù)。
近十多年來(lái),除了面向對象的程序設計以外,OO方法已發(fā)展應用到整個(gè)信息系統領(lǐng)域和一些新興的工業(yè)領(lǐng)域,包括:用戶(hù)界面(特別是圖形用戶(hù)界面――GUI)、應用集成平臺、面向對象數據庫(OODB)、分布式系統、網(wǎng)絡(luò )管理結構、人工智能領(lǐng)域以及并發(fā)工程、綜合集成工程等。人工智能是和計算機密切相關(guān)的新領(lǐng)域,在很多方面已經(jīng)采用面向對象技術(shù),如知識的表示,專(zhuān)家系統的建造、用戶(hù)界面等。人工智能的軟件通常規模較大,用面向對象技術(shù)有可能更好地設計并維護這類(lèi)程序。
80年代后期形成的并發(fā)工程,其概念要點(diǎn)是在產(chǎn)品開(kāi)發(fā)初期(即方案設計階段)就把結構、工藝、加工、裝配、測試、使用、市場(chǎng)等問(wèn)題同期并行地啟動(dòng)運行,其實(shí)現必須有兩個(gè)基本條件:一是專(zhuān)家群體,二是共享并管理產(chǎn)品信息(將CAD、CAE、CIN緊密結合在一起)。顯然,這需要面向對象技術(shù)的支持。目前,一些公司采用并發(fā)工程組織產(chǎn)品的開(kāi)發(fā),已取得顯著(zhù)效益:波音公司用以開(kāi)發(fā)巨型777運輸機,比開(kāi)發(fā)767節省了一年半時(shí)間;日本把并發(fā)工程用于新型號的汽車(chē)生產(chǎn),和美國相比只用一半的時(shí)間。產(chǎn)業(yè)界認為它們念后的生存要依靠并發(fā)工程,而面向對象技術(shù)是促進(jìn)并發(fā)工程發(fā)展的重要支持。
綜合集成工程是開(kāi)發(fā)大型開(kāi)放式復雜統的新的工程概念,和并發(fā)工程相似,專(zhuān)家群體的組織和共享信息,是支持這一新工程概念的兩大支柱。由于開(kāi)放式大系統包含人的智能活動(dòng),建立數學(xué)模型非常困難,而OO方法能夠比較自然地刻劃現實(shí)世界,容易達到問(wèn)題空間和程序空間的一致,能夠在多種層次上支持復雜系統層次模型的建立,是研究綜合集成工程的重要工具。
面向對象技術(shù)對于并發(fā)工程和綜合集成工程的作用,一方面說(shuō)明了這一新技術(shù)應用范圍的寬廣,同時(shí)也說(shuō)明了它的重要影響,更證明了面向對象技術(shù)是一門(mén)新興的值得廣泛重視的技術(shù)。
綜上所述,可歸納出OO方法用于系統開(kāi)發(fā)有如下優(yōu)越性:
?。?) 強調從現實(shí)世界中客觀(guān)存在的事物(對象)出發(fā)來(lái)認識問(wèn)
題域和構造系統,這就使系統開(kāi)發(fā)者大大減少了對問(wèn)題域的理解難度,從而使系統能更準確地反映問(wèn)題域。
?。?) 運用人類(lèi)日常的思維方法和原則(體現于OO方法的抽
象、分類(lèi)、繼承、封裝、消息通訊等基本原則)進(jìn)行系統開(kāi)發(fā),有益于發(fā)揮人類(lèi)的思維能力,并有效地控制了系 統復雜性。
?。?) 對象的概念貫穿于開(kāi)發(fā)過(guò)程的終,使各個(gè)開(kāi)發(fā)階段的系統
成分具良好的對應,從而顯著(zhù)地提高了系統的開(kāi)發(fā)效率與質(zhì)量,并大大降低系統維護的難度。
?。?) 對象概念的一致性,使參與系統開(kāi)發(fā)的各類(lèi)人員在開(kāi)發(fā)的各所段具有共同語(yǔ)言,有效地改善了人員之間的 交流和協(xié)作。
?。?) 對象的相對穩定性和對易變因素隔離,增強了系統的應變能力。
?。?) 對象類(lèi)之間的繼承關(guān)系和對象的相對獨立性,對軟件復用提供了強有力的支持。
六、OO方法當前的研究領(lǐng)域
當前,在研究OO方法的熱潮中,有如下主要研究領(lǐng)域:
?。?) 智能計算機的研究。因為OO方法可將知識片看作對象,并為相關(guān)知識的模塊化提供方便,所以在知識工程領(lǐng)域越來(lái)越受到重視。OO方法的設計思想被引入到智能計算機的研究中。
?。?) 新一代操作系統的研究。采用OO方法來(lái)組織設計新一代操作系統具有如下優(yōu)點(diǎn):采用對象來(lái)描述OS所需要設計、管理的各類(lèi)資源信息,如文件、打印機、處理機、各類(lèi)解設等更為自然;引入OO方法來(lái)處理OO的諸多事務(wù),如命名、同步、保護、管理等,會(huì )更易實(shí)現、更便于維護;OO方法對于多機、并發(fā)控制可提供有力的支持,并能得當地管理網(wǎng)絡(luò ),使其更豐富和協(xié)調。
?。?) 多學(xué)科的綜合研究。當前,人工智能、數據庫、編程語(yǔ)言的研究有匯合趨勢。例如,在研究新一代數據庫系統(智能數據庫系統)中,能否用人工智能思想與OO方法建立描述功能更強的數椐模型?能否將數據庫語(yǔ)言和編程語(yǔ)言融為一體?為了實(shí)現多學(xué)科的綜合,OO方法是一個(gè)很有希望的匯聚點(diǎn)。
?。?) 新一代面向對象的硬件系統的研究。要支持采用OO方法設計的軟件系統的運行,必須建立更理想的能支持OO方法的硬件環(huán)境。目前采用松耦合(分布主存)結構的多處理機系統更接近于OO方法的思想;作為最新出現的神經(jīng)網(wǎng)絡(luò )計算機的體系結構與OO方法的體系結構具有驚人的類(lèi)似,并能相互支持與配合:一個(gè)神經(jīng)元就是一個(gè)小粒度的對象;神經(jīng)元的連接機制與OO方法的消息傳送有著(zhù)天然的聯(lián)系;一次連接可以看作一次消息的發(fā)送??梢灶A料,將OO方法與神經(jīng)網(wǎng)絡(luò )研究相互結合,必然可以開(kāi)發(fā)出功能更強、更迷人的新一代計算機硬件系統。
五、展望
面向對象方法在80年代已經(jīng)得到了很大的發(fā)展,并且已在計算機科學(xué)、信息科學(xué)、系統科學(xué)和產(chǎn)業(yè)界得到了有效的應用,顯示出其強大的生命力??梢哉雇?0年代內,面向對象方法將會(huì )大更深、吏廣、更高的方向上取得進(jìn)展:
?。?) 更深的方向:如OO方法的理論基礎和形式化描述;用OO技術(shù)設計出新一代OS等。
?。?) 更廣的方向:如面向對象的知識表示;面向對象的仿真系統;面向對象的多媒體系統;面向對象的靈境系統等。
?。?) 更高的方向:如從思維科學(xué)的高度來(lái)豐富OO方法學(xué)的本質(zhì)屬性,突破現有的面向對象技術(shù)的一些局限、研究統一的面向對象的范式等。
聯(lián)系客服