两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

運(yùn)行時(shí)間多態(tài)性的制作方法

文檔序號(hào):6402842閱讀:218來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):運(yùn)行時(shí)間多態(tài)性的制作方法
技術(shù)領(lǐng)域
本揭示說(shuō)明一般涉及運(yùn)行時(shí)間多態(tài)性,舉例來(lái)講(但不作限制),尤其涉及通過(guò)使用元數(shù)據(jù)將第一對(duì)象強(qiáng)制轉(zhuǎn)換(casting)為第二對(duì)象,在運(yùn)行時(shí)間環(huán)境中實(shí)現(xiàn)多態(tài)性。
背景傳統(tǒng)的面向功能的編程方法在很大程度上已由面向?qū)ο蟮木幊桃?guī)程取代。利用面向功能的編程,可圍繞動(dòng)作來(lái)組織代碼,并可主要根據(jù)邏輯來(lái)寫(xiě)入代碼。利用面向?qū)ο蟮木幊?,可圍繞“對(duì)象”來(lái)組織代碼,并可主要響應(yīng)于底層數(shù)據(jù)來(lái)寫(xiě)入代碼。
面向?qū)ο缶幊烫峁┰S多概念上的進(jìn)步與代碼相關(guān)的好處(例如,復(fù)用性、適應(yīng)性、模塊性等)。這些好處至少部分產(chǎn)生于面向?qū)ο缶幊痰母咀谥己蛠?lái)自那里的原則。例如,面向?qū)ο缶幊掏ǔ?yán)格遵守封裝、繼承和多態(tài)性。
“封裝”涉及對(duì)象通過(guò)限制從外部源對(duì)其數(shù)據(jù)的訪問(wèn)來(lái)保護(hù)其數(shù)據(jù)的能力和傾向。給定的對(duì)象可以規(guī)定其數(shù)據(jù)中的哪些數(shù)據(jù)可被暴露,并可以限制(如果不完全控制)可如何處理其數(shù)據(jù)。
“繼承”允許一種類(lèi)別的對(duì)象的特征延伸到另一種類(lèi)別。例如,超類(lèi)的每個(gè)子類(lèi)繼承那個(gè)超類(lèi)的所有這些特征。另外,程序設(shè)計(jì)者可以規(guī)定將為每個(gè)繼承的子類(lèi)新包括哪些額外的特征。所產(chǎn)生的一套繼承關(guān)系由該編譯器在編譯時(shí)間精心構(gòu)思。由此,利用繼承,能實(shí)現(xiàn)便于對(duì)現(xiàn)有的類(lèi)的延伸的分層框架。
多態(tài)性可以至少部分地指對(duì)象對(duì)不同的刺激作出不同的反應(yīng)的能力。換言之,多態(tài)性可以是關(guān)于能夠在不同上下文中對(duì)相同的信息指定不同的用法或含義。更明確地說(shuō),傳統(tǒng)的多態(tài)性允許超類(lèi)的這些編程過(guò)程對(duì)其相應(yīng)的子類(lèi)被重新定義。但是,這種重新定義的能力是有限的。關(guān)于這些編程過(guò)程的這類(lèi)重新定義在編譯時(shí)是固定不變。實(shí)際上,程序設(shè)計(jì)者或設(shè)計(jì)人員根據(jù)關(guān)于這些編程過(guò)程的可能的輸入的期望和/或預(yù)測(cè),來(lái)建立該潛在多態(tài)性。
另外,傳統(tǒng)的多態(tài)性單單基于該超類(lèi)及其任何子類(lèi)的全部類(lèi)型。那些類(lèi)型通常相關(guān),使得子類(lèi)可以被強(qiáng)制轉(zhuǎn)換到其超類(lèi)。所以,傳統(tǒng)的多態(tài)性取決于正在被預(yù)定義以便允許從特殊源類(lèi)型進(jìn)行強(qiáng)制轉(zhuǎn)換的目的類(lèi)型。
相應(yīng)地,對(duì)于多態(tài)性規(guī)程而言,需要有可提供提高了可預(yù)測(cè)性、靈活性和/或多樣性的對(duì)象。
概述利用可用于將對(duì)象強(qiáng)制轉(zhuǎn)換為被強(qiáng)制轉(zhuǎn)換對(duì)象的元數(shù)據(jù),可以允許運(yùn)行時(shí)間多態(tài)性。在示范的媒體實(shí)施中,其處理器可執(zhí)行指令指示計(jì)算設(shè)備執(zhí)行操作,這些操作包括在運(yùn)行時(shí)間環(huán)境中時(shí),至少發(fā)現(xiàn)對(duì)象的一種類(lèi)型;并且,通過(guò)使用元數(shù)據(jù)將該對(duì)象強(qiáng)制轉(zhuǎn)換為被強(qiáng)制轉(zhuǎn)換對(duì)象,來(lái)從該對(duì)象中創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象。示范的計(jì)算設(shè)備實(shí)現(xiàn)包括一個(gè)或多個(gè)處理器;以及與這一個(gè)或多個(gè)處理器進(jìn)行有效通信的一個(gè)或多個(gè)媒體,這一個(gè)或多個(gè)媒體包括第一種類(lèi)型的對(duì)象;元數(shù)據(jù),它能夠被用來(lái)強(qiáng)制轉(zhuǎn)換運(yùn)行時(shí)間環(huán)境中的未知對(duì)象;以及處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令使這一個(gè)或多個(gè)處理器執(zhí)行動(dòng)作,該動(dòng)作包括通過(guò)使用該運(yùn)行時(shí)間環(huán)境中的該元數(shù)據(jù),將這第一種類(lèi)型的對(duì)象強(qiáng)制轉(zhuǎn)換到第二種類(lèi)型的被強(qiáng)制轉(zhuǎn)換對(duì)象,這第一種類(lèi)型不同于這第二種類(lèi)型。
這里描述了其他方法、系統(tǒng)、裝置、媒體、布置、裝置、設(shè)備等的實(shí)施。
附圖簡(jiǎn)述貫穿這些附圖使用相同的號(hào)碼來(lái)指相似的和/或?qū)?yīng)的方面、特點(diǎn)和部件。


圖1是框圖,展示了運(yùn)行時(shí)間多態(tài)性的第一種示范途徑。
圖2是流程圖,展示了關(guān)于運(yùn)行時(shí)間多態(tài)性的第一種示范方法。
圖3是框圖,展示了運(yùn)行時(shí)間多態(tài)性的第二種示范途徑。
圖4是流程圖,展示了關(guān)于運(yùn)行時(shí)間多態(tài)性的第二種示范方法。
圖5A和5B是框圖,分別展示了運(yùn)行時(shí)間多態(tài)性的第三種和第四種示范途徑。
圖6A和6B是流程圖,分別展示了關(guān)于運(yùn)行時(shí)間多態(tài)性的第三種和第四種示范方法。
圖7是框圖,展示了運(yùn)行時(shí)間多態(tài)性的第五種示范途徑。
圖8是流程圖,展示了關(guān)于運(yùn)行時(shí)間多態(tài)性的第五種示范方法。
圖9展示了能夠(完全或部分地)實(shí)施如這里所述的運(yùn)行時(shí)間多態(tài)性的至少一個(gè)方面的示范計(jì)算操作環(huán)境(或一般計(jì)算設(shè)備)。
詳細(xì)說(shuō)明在所描述的實(shí)施中,通過(guò)使用該過(guò)程的元數(shù)據(jù)說(shuō)明,運(yùn)行時(shí)間多態(tài)性允許使用增強(qiáng)的多態(tài)性模式在運(yùn)行時(shí)間將任意類(lèi)型的對(duì)象強(qiáng)制轉(zhuǎn)換到新的類(lèi)型中。以下所描述的至少一項(xiàng)實(shí)施定義以在運(yùn)行時(shí)間被加以解釋的元數(shù)據(jù)形式定義了多態(tài)性,而不是在編譯時(shí)間定義多態(tài)性。
以下所描述的至少一項(xiàng)實(shí)施通過(guò)包括對(duì)該源對(duì)象的各個(gè)特點(diǎn)的引用,增強(qiáng)了多態(tài)性,而不是單單根據(jù)類(lèi)型來(lái)使對(duì)象多形態(tài)。例如,該元數(shù)據(jù)可以用特殊名稱(chēng)描述關(guān)于該源對(duì)象的屬性,而不考慮其類(lèi)型。另外,關(guān)于運(yùn)行時(shí)間多態(tài)性的以下所描述的至少一項(xiàng)實(shí)施啟用未知的源類(lèi)型,以便在運(yùn)行時(shí)間發(fā)現(xiàn)源類(lèi)型信息,而不是在編譯時(shí)間充分定義該源類(lèi)型信息和該目的類(lèi)型信息。
此外,利用正用于使任何源類(lèi)型能進(jìn)行多對(duì)一強(qiáng)制轉(zhuǎn)換的相同的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換定義,以下所描述的至少一項(xiàng)實(shí)施可處理多種任意的源類(lèi)型到目的類(lèi)型的多態(tài)性,而不是依靠一對(duì)一強(qiáng)制轉(zhuǎn)換,其中,利用關(guān)于每種唯一的源類(lèi)型的唯一的目的類(lèi)型,使一特定類(lèi)型多態(tài)化為另一種特定類(lèi)型。這樣,可以使多個(gè)源對(duì)象多態(tài)化為單一的目的對(duì)象。而且,以下所描述的至少一項(xiàng)實(shí)施在運(yùn)行時(shí)間很靈活,以便不管在運(yùn)行時(shí)間所發(fā)現(xiàn)的源類(lèi)型如何,都可建立目的類(lèi)型。
圖1是框圖100,展示了運(yùn)行時(shí)間多態(tài)性的第一種示范途徑。在所描述的實(shí)施中,框圖100包括由實(shí)線劃定界線的運(yùn)行時(shí)間環(huán)境(RTE)110。對(duì)象102屬于第一種類(lèi)型(例如,第一種類(lèi)別的類(lèi)型(比如“類(lèi)型1”))。如從運(yùn)行時(shí)間環(huán)境110的這些實(shí)線那里延伸的虛線所指出的,可以在運(yùn)行時(shí)間環(huán)境110內(nèi)或在運(yùn)行時(shí)間環(huán)境110外定義對(duì)象102,例如,在運(yùn)行時(shí)間環(huán)境110初始化之前。
如所展示的,運(yùn)行時(shí)間環(huán)境110包括屬于第二種類(lèi)型(例如,第二種類(lèi)的類(lèi)型(比如“類(lèi)型2”))的被強(qiáng)制轉(zhuǎn)換對(duì)象104。運(yùn)行時(shí)間環(huán)境110也包括強(qiáng)制轉(zhuǎn)換過(guò)程106和元數(shù)據(jù)108。在運(yùn)行時(shí)間環(huán)境110中時(shí),通過(guò)使用元數(shù)據(jù)108,并經(jīng)由強(qiáng)制轉(zhuǎn)換過(guò)程106,這第一種類(lèi)型的對(duì)象102多態(tài)化為這第二種類(lèi)型的被強(qiáng)制轉(zhuǎn)換對(duì)象104。例如,強(qiáng)制轉(zhuǎn)換過(guò)程106涉及解釋關(guān)于從對(duì)象102中創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象104的元數(shù)據(jù)說(shuō)明108。
圖2是流程圖200,展示了關(guān)于運(yùn)行時(shí)間多態(tài)性的第一種示范方法。流程圖200包括三(3)個(gè)方框202-206。在方框202處,輸入運(yùn)行時(shí)間環(huán)境。例如,(圖1中的)運(yùn)行時(shí)間環(huán)境110可能被啟用(或可能已經(jīng)存在)。在方框204處,發(fā)現(xiàn)關(guān)于對(duì)象的源類(lèi)型。例如,通過(guò)從運(yùn)行時(shí)間環(huán)境110內(nèi)檢查對(duì)象102,可以發(fā)現(xiàn)對(duì)象102的類(lèi)類(lèi)型或類(lèi)似的類(lèi)型。
在方框206處,通過(guò)使用元數(shù)據(jù)從該對(duì)象強(qiáng)制轉(zhuǎn)換它,來(lái)創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象。例如,可以使用元數(shù)據(jù)108將對(duì)象102強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104。換言之,在運(yùn)行時(shí)間環(huán)境110中時(shí),編碼可以將對(duì)象102強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104。另外,在維持運(yùn)行時(shí)間環(huán)境110的同時(shí),可以(例如)根據(jù)應(yīng)用程序或響應(yīng)于用戶界面輸入,來(lái)修改元數(shù)據(jù)108。也可以在強(qiáng)制轉(zhuǎn)換過(guò)程106中使用這種修改過(guò)的元數(shù)據(jù),以便從(這第一種類(lèi)型的)對(duì)象102中或從其他對(duì)象中創(chuàng)建(第三種類(lèi)型的)被強(qiáng)制轉(zhuǎn)換對(duì)象104。
通過(guò)使用多態(tài)性,可以允許將一種類(lèi)型用作另一種類(lèi)型。在所描述的示范實(shí)施中,關(guān)于運(yùn)行時(shí)間多態(tài)性的元數(shù)據(jù)定義額外的強(qiáng)制轉(zhuǎn)換函數(shù)或映射,以允許基于該類(lèi)型和不一定是整體意義上的該類(lèi)型的單獨(dú)的特點(diǎn)的一種類(lèi)型的強(qiáng)制轉(zhuǎn)換。結(jié)果,各種類(lèi)型本身可以在不同的時(shí)間被加以定義,而無(wú)須在編譯時(shí)間具備關(guān)于其他類(lèi)型的特殊知識(shí),同時(shí),這些類(lèi)型仍然在運(yùn)行時(shí)間被強(qiáng)制轉(zhuǎn)換回(和任選地向前轉(zhuǎn)換)。例如,可以作為強(qiáng)制轉(zhuǎn)換目標(biāo)的一種或多種類(lèi)型的這些單獨(dú)的特點(diǎn)是源對(duì)象上所包括的屬性的名稱(chēng)和類(lèi)型以及該源對(duì)象上所包括的方法的名稱(chēng)和簽名。
在所描述的實(shí)施中,四項(xiàng)示范的強(qiáng)制轉(zhuǎn)換操作可以被用于在源對(duì)象與目的對(duì)象之間映射特點(diǎn)(1)方法和屬性的1對(duì)1映射這項(xiàng)強(qiáng)制轉(zhuǎn)換操作可以定義從具有特定名稱(chēng)的源屬性或方法到具有特定名稱(chēng)的目的屬性或方法的映射。這些屬性可以具有同一種類(lèi)型或不同的類(lèi)型,尤其當(dāng)可以來(lái)回強(qiáng)迫使用那些類(lèi)型時(shí)。此外,可以將該源對(duì)象上的方法調(diào)用暴露為該目的對(duì)象上的屬性,反之亦然。
(2)方法和屬性的1對(duì)無(wú)映射這項(xiàng)強(qiáng)制轉(zhuǎn)換操作可以不將源屬性或方法映射到該目的對(duì)象中的任何事物。換言之,該目的對(duì)象上無(wú)該源屬性或方法可供使用。
(3)方法和屬性的多對(duì)1映射這項(xiàng)強(qiáng)制轉(zhuǎn)換操作允許程序設(shè)計(jì)者或其他用戶將目的屬性或方法的該值定義為一個(gè)或多個(gè)源屬性和/或方法調(diào)用的函數(shù)。這個(gè)函數(shù)可以是從源對(duì)象到目的對(duì)象單向的,或者,它可以是雙向的。利用雙向映射,可以在該目的對(duì)象上設(shè)置屬性或方法,同樣可以在該源對(duì)象上對(duì)其進(jìn)行自動(dòng)設(shè)置。如同在以上的(1)中,可以將該源對(duì)象上的方法調(diào)用暴露為該目的對(duì)象上的屬性,反之亦然。
(4)新的方法和屬性這項(xiàng)強(qiáng)制轉(zhuǎn)換操作允許在不是該源對(duì)象的特點(diǎn)或函數(shù)的該目的對(duì)象上定義新的屬性或方法。該目的對(duì)象上的這些所產(chǎn)生的屬性可以被認(rèn)為是“expando”屬性。
圖3是框圖300,展示了運(yùn)行時(shí)間多態(tài)性的第二種示范途徑。框圖300包括對(duì)象102、被強(qiáng)制轉(zhuǎn)換對(duì)象104和運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302。運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302是(圖1中的)元數(shù)據(jù)108的例子。對(duì)象102和被強(qiáng)制轉(zhuǎn)換對(duì)象104每個(gè)可以包括至少一個(gè)特點(diǎn),或者可以與至少一個(gè)特點(diǎn)(例如,方法或?qū)傩?有關(guān)聯(lián)。在所描述的實(shí)施中,屬性是由對(duì)象擁有并由用于對(duì)象的名稱(chēng)來(lái)識(shí)別的數(shù)據(jù),方法是由該對(duì)象擁有的代碼例行程序。
更明確地說(shuō),對(duì)象102和被強(qiáng)制轉(zhuǎn)換對(duì)象104每個(gè)可以具有一個(gè)或多個(gè)屬性和/或一種或多種方法。如所展示的,對(duì)象102包括多個(gè)屬性102P1、102P2、102P3、102P4、102P5……102Pn,以及多種方法102M1……102Mn。被強(qiáng)制轉(zhuǎn)換對(duì)象104包括多個(gè)屬性104P1、104P2、104P3、104P4……104Pn,以及多種方法104M1……104Mn。
在所描述的實(shí)施中,運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302包括一項(xiàng)或多項(xiàng)映射說(shuō)明302M。如所展示的,運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302包括至少七(7)項(xiàng)示范映射說(shuō)明302M(屬性)反映映射說(shuō)明302M1、變換映射說(shuō)明302M2、重新命名映射說(shuō)明302M3、函數(shù)映射說(shuō)明302M4、(屬性)宣稱(chēng)映射說(shuō)明302M5、(方法)反映映射說(shuō)明302M6和(方法)宣稱(chēng)映射說(shuō)明302M7。
運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302也可以明顯地或隱含地包括濾波器映射說(shuō)明302Mn。例如,在隱含的濾波器映射說(shuō)明302Mn中,運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302可以省略對(duì)將不被強(qiáng)制轉(zhuǎn)換(到被強(qiáng)制轉(zhuǎn)換對(duì)象104)的(對(duì)象102的)實(shí)際或潛在的特點(diǎn)的任何引用。例如,在明顯的濾波器映射說(shuō)明302Mn中,運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302可以肯定地指出(對(duì)象102的)所列舉的特殊的特點(diǎn)和/或未加規(guī)定的一般特點(diǎn)將不被強(qiáng)制轉(zhuǎn)換(到被強(qiáng)制轉(zhuǎn)換對(duì)象104)。
這七項(xiàng)映射說(shuō)明302M1……302M7中的每項(xiàng)映射說(shuō)明對(duì)應(yīng)于各自的映射或特點(diǎn)強(qiáng)制轉(zhuǎn)換操作304(1)……304(7)。明確地說(shuō),框圖300展示了七(7)個(gè)示范的對(duì)應(yīng)的映射304,如下所述(屬性)反映映射304(1)、變換映射304(2)、重新命名映射304(3)、函數(shù)映射304(4)、(屬性)宣稱(chēng)映射304(5),(方法)反映映射304(6)和(方法)宣稱(chēng)映射304(7)。關(guān)于屬性特點(diǎn)和方法特點(diǎn)中的任何一種特點(diǎn)或這兩種特點(diǎn)的過(guò)濾映射304(n)也可以由運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302來(lái)實(shí)施。
所以,可以在強(qiáng)制轉(zhuǎn)換操作中使用映射說(shuō)明302M中的一項(xiàng)或多項(xiàng)映射說(shuō)明,以便將對(duì)象102強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104。每項(xiàng)單獨(dú)的特點(diǎn)強(qiáng)制轉(zhuǎn)換操作304由實(shí)線箭頭和虛線箭頭來(lái)表現(xiàn)。該實(shí)線箭頭指出從對(duì)象102到被強(qiáng)制轉(zhuǎn)換對(duì)象104的連接,該虛線箭頭指出從被強(qiáng)制轉(zhuǎn)換對(duì)象104到對(duì)象102的“向后”連接。以下進(jìn)一步描述這個(gè)運(yùn)行時(shí)間結(jié)合的方面。
單獨(dú)的特點(diǎn)強(qiáng)制轉(zhuǎn)換操作304可以被實(shí)行如下。反映映射304(1)將屬性102P1直接反映到屬性104P1中。變換映射304(2)為屬性104P2轉(zhuǎn)換一個(gè)或多個(gè)屬性(例如,屬性102P2的讀取、寫(xiě)入、類(lèi)型等)。重新命名映射304(3)將屬性102P3改名為屬性104P3。
函數(shù)映射304(4)將被強(qiáng)制轉(zhuǎn)換對(duì)象104的屬性104P4作為對(duì)象102的至少一個(gè)屬性的函數(shù)來(lái)加以強(qiáng)制轉(zhuǎn)換。如所展示的,屬性104P4根據(jù)函數(shù)映射說(shuō)明302M4是屬性102P4和屬性102P5的函數(shù)。關(guān)于宣稱(chēng)映射304(5),新近為被強(qiáng)制轉(zhuǎn)換對(duì)象104宣稱(chēng)了屬性104Pn,作為到和/或來(lái)自對(duì)象102的延伸。關(guān)于濾波器映射304(n)和對(duì)象102的屬性102Pn,屬性102Pn被加以過(guò)濾,作為解釋運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302的結(jié)果,使得不為被強(qiáng)制轉(zhuǎn)換對(duì)象104強(qiáng)制轉(zhuǎn)換與此對(duì)應(yīng)的屬性。
反映映射304(6)將方法102M1直接反映到方法104M1中。關(guān)于宣稱(chēng)映射304(7),根據(jù)宣稱(chēng)映射說(shuō)明302M7,新近為被強(qiáng)制轉(zhuǎn)換對(duì)象104宣稱(chēng)方法104Mn,作為到和/或來(lái)自對(duì)象102的延伸。關(guān)于濾波器映射304(n)和對(duì)象102的方法102Mn,方法102Mn被加以過(guò)濾,作為解釋運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302的結(jié)果,使得被強(qiáng)制轉(zhuǎn)換對(duì)象104中不包括與此對(duì)應(yīng)的方法。
框圖300展示了從對(duì)象102創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象104的示范強(qiáng)制轉(zhuǎn)換操作。如上所述,這項(xiàng)強(qiáng)制轉(zhuǎn)換操作能夠如這些虛線箭頭所指出的那樣來(lái)維持從被強(qiáng)制轉(zhuǎn)換對(duì)象104到對(duì)象102的向后連接。所以,可以認(rèn)為對(duì)象102與被強(qiáng)制轉(zhuǎn)換對(duì)象104之間的連接具有向前的方面和向后的方面。如這些實(shí)線箭頭所表現(xiàn)的,該向前連接方面在對(duì)象102與被強(qiáng)制轉(zhuǎn)換對(duì)象104之間建立關(guān)系。如這些虛線箭頭所表現(xiàn)的,該向后連接方面在對(duì)象102與被強(qiáng)制轉(zhuǎn)換對(duì)象104之間建立運(yùn)行時(shí)間的綁定。通過(guò)分離的方式和/或彼此結(jié)合的方式,該向前連接和向后連接促進(jìn)了(i)對(duì)象102到被強(qiáng)制轉(zhuǎn)換對(duì)象104和(ii)被強(qiáng)制轉(zhuǎn)換對(duì)象104到對(duì)象102的運(yùn)行時(shí)間的綁定。
應(yīng)該注意,每項(xiàng)單獨(dú)的特點(diǎn)強(qiáng)制轉(zhuǎn)換操作304可能不具備相關(guān)的向后連接。例如,關(guān)于屬性宣稱(chēng)映射304(5)和方法宣稱(chēng)映射304(7)的向后連接可能不相關(guān)。另一個(gè)例子是可能難以或無(wú)法創(chuàng)立關(guān)于特定的函數(shù)映射304(4)的向后連接。
在所描述的實(shí)施中,運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302可能?chē)L試為被強(qiáng)制轉(zhuǎn)換對(duì)象104強(qiáng)制轉(zhuǎn)換一目的特點(diǎn),對(duì)于該對(duì)象104,沒(méi)有如該特定的映射說(shuō)明302M所期望的、對(duì)象102中的對(duì)應(yīng)的源特點(diǎn)。例如,變換映射說(shuō)明302M2期望對(duì)預(yù)定屬性102P2進(jìn)行定位,用于強(qiáng)制轉(zhuǎn)換到屬性104P2。但是,當(dāng)在運(yùn)行時(shí)間環(huán)境110中進(jìn)行操作時(shí),對(duì)象102中可能不存在這種預(yù)期的預(yù)定特點(diǎn)。關(guān)于這類(lèi)可能發(fā)生的事件和/或不測(cè)事件,被定義成期望對(duì)源對(duì)象中的預(yù)定特點(diǎn)進(jìn)行定位的一項(xiàng)或多項(xiàng)(包括所有的)映射說(shuō)明302M可以包括一個(gè)或多個(gè)默認(rèn)參數(shù),用于當(dāng)該源對(duì)象缺乏該預(yù)期的預(yù)定特點(diǎn)時(shí),為該目的對(duì)象創(chuàng)建被強(qiáng)制轉(zhuǎn)換的特點(diǎn)。
圖4是流程圖400,展示了關(guān)于運(yùn)行時(shí)間多態(tài)性的第二種示范方法。流程圖400包括六(6)個(gè)方框402-412。流程圖400提出一種所描述的實(shí)施,其中,可能無(wú)法在強(qiáng)制轉(zhuǎn)換操作期間從源對(duì)象中檢索到預(yù)期的預(yù)定特點(diǎn)。
在方框402處,輸入運(yùn)行時(shí)間環(huán)境。例如,(圖1中的)運(yùn)行時(shí)間環(huán)境110可能在代碼處理計(jì)算設(shè)備中被啟用(或可能已經(jīng)存在于代碼處理計(jì)算設(shè)備中)。在方框404處,從運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明中檢索關(guān)于對(duì)象的預(yù)定特點(diǎn)的映射說(shuō)明。例如,可以從運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302中檢索關(guān)于對(duì)象102的預(yù)定特點(diǎn)(例如,屬性102P或方法102M)的(圖3中的)特定的映射說(shuō)明302M。
在方框406處,確定該對(duì)象中是否存在該預(yù)定特點(diǎn)。例如,檢查對(duì)象102的特點(diǎn)102P和102M,以確定對(duì)象102內(nèi)是否存在特定的映射說(shuō)明302M所預(yù)期的預(yù)定特點(diǎn)。如果是,則在方框408處,根據(jù)該映射說(shuō)明,將該對(duì)象的該預(yù)定特點(diǎn)作為被強(qiáng)制轉(zhuǎn)換特點(diǎn)強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象中。例如,根據(jù)特定的映射說(shuō)明302M,將對(duì)象102的預(yù)期的預(yù)定特點(diǎn)102P或102M作為被強(qiáng)制轉(zhuǎn)換特點(diǎn)104P或104M強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104中。
另一方面,如果在方框406處確定該對(duì)象中沒(méi)有該預(yù)期的預(yù)定特點(diǎn),那么,在方框410處,根據(jù)該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明來(lái)確定關(guān)于該預(yù)定特點(diǎn)(和/或該被強(qiáng)制轉(zhuǎn)換的特點(diǎn))的默認(rèn)參數(shù)。這類(lèi)默認(rèn)參數(shù)具體地說(shuō)可能是該映射說(shuō)明的一部分,通常也可能是該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明的一部分。例如,可以參考全部的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302和/或特定的映射說(shuō)明302M,以確定關(guān)于對(duì)象102的預(yù)期的預(yù)定特點(diǎn)102P或102M(和/或被強(qiáng)制轉(zhuǎn)換對(duì)象104的將要被強(qiáng)制轉(zhuǎn)換的特點(diǎn)104P或104M)的默認(rèn)參數(shù)。
在方框412處,根據(jù)該映射說(shuō)明,將這些默認(rèn)參數(shù)作為該被強(qiáng)制轉(zhuǎn)換特點(diǎn)強(qiáng)制轉(zhuǎn)換到該被強(qiáng)制轉(zhuǎn)換對(duì)象中。例如,通過(guò)應(yīng)用特定的映射說(shuō)明302M的命令,并且/或者,通過(guò)將該默認(rèn)參數(shù)直接放入被強(qiáng)制轉(zhuǎn)換特點(diǎn)104P或104M而不作修改,可以將該默認(rèn)參數(shù)強(qiáng)制轉(zhuǎn)換到對(duì)象104的被強(qiáng)制轉(zhuǎn)換特點(diǎn)104P或104M中。如被環(huán)繞的“A”和“B”所指出的,在執(zhí)行方框408和412中的任何一個(gè)方框的動(dòng)作之后,可以在方框404處繼續(xù)流程,以處理該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明的另一項(xiàng)映射說(shuō)明。
圖5A是框圖500A,該框圖展示了運(yùn)行時(shí)間多態(tài)性的第三種示范途徑。框圖500A包括兩個(gè)應(yīng)用程序502和504;運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302;以及四個(gè)對(duì)象102(A)、102(B)、104(C1)和104(C2)。如為所描述的實(shí)施而展示的,應(yīng)用程序502和504表現(xiàn)一般應(yīng)用程序504和(可再用的)服務(wù)程序庫(kù)502,它們可任選地可能是操作系統(tǒng)的一部分。
服務(wù)程序庫(kù)502和應(yīng)用程序504可以經(jīng)由消息或類(lèi)似的機(jī)制并使用鏈路506在彼此之間進(jìn)行通信。應(yīng)用程序504包括兩個(gè)對(duì)象或與兩個(gè)對(duì)象有關(guān)聯(lián),這兩個(gè)對(duì)象是類(lèi)型“A”的對(duì)象102(A)和類(lèi)型“B”的對(duì)象102(B),其中,類(lèi)型A不同于類(lèi)型B。在這個(gè)例子中,應(yīng)用程序504請(qǐng)求服務(wù)程序庫(kù)502執(zhí)行運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換操作,以便從對(duì)象102(A)和對(duì)象102(B)中創(chuàng)建具有相同類(lèi)型的兩個(gè)對(duì)象。應(yīng)該注意,應(yīng)用程序504可以作為另一種方式執(zhí)行該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換操作,而無(wú)須調(diào)用任何其他的應(yīng)用程序。
服務(wù)程序庫(kù)502使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302來(lái)控制所請(qǐng)求的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換操作。運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302可以由應(yīng)用程序504、由服務(wù)程序庫(kù)502、由操作系統(tǒng)(圖5A中未作明確的展示)、由另一個(gè)應(yīng)用程序等來(lái)提供。通過(guò)解釋運(yùn)行時(shí)間環(huán)境110中的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302,可根據(jù)強(qiáng)制轉(zhuǎn)換操作304(AC)中的對(duì)象102(A)來(lái)創(chuàng)建類(lèi)型“C”的被強(qiáng)制轉(zhuǎn)換對(duì)象104(C1)。同樣,通過(guò)解釋運(yùn)行時(shí)間環(huán)境110中的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302,可根據(jù)強(qiáng)制轉(zhuǎn)換操作304(BC)中的對(duì)象102(B)來(lái)創(chuàng)建也具有類(lèi)型“C”的被強(qiáng)制轉(zhuǎn)換對(duì)象104(C2)。
這樣,兩種不同類(lèi)型A和B的對(duì)象102(A)和對(duì)象102(B)被分別強(qiáng)制轉(zhuǎn)換到同一種類(lèi)型C的對(duì)象104(C1)和對(duì)象104(C2)。另外,不需要從相同的基類(lèi)中導(dǎo)出對(duì)象102(A)和對(duì)象102(B)。至少部分地通過(guò)使用濾波器映射說(shuō)明302Mn來(lái)過(guò)濾并非共有的特點(diǎn),通過(guò)使用宣稱(chēng)映射說(shuō)明302M5和/或302M7,并且/或者通過(guò)當(dāng)如運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302中所規(guī)定的預(yù)期的預(yù)定特點(diǎn)不位于源對(duì)象中時(shí)依靠默認(rèn)參數(shù),可以實(shí)現(xiàn)不同類(lèi)型的對(duì)象到相同類(lèi)型的對(duì)象的這種強(qiáng)制轉(zhuǎn)換。應(yīng)該理解也可以實(shí)施其他的映射說(shuō)明302M,用于將不同類(lèi)型的對(duì)象強(qiáng)制轉(zhuǎn)換到相同類(lèi)型的對(duì)象。
圖6A是流程圖600A,該流程圖展示了關(guān)于運(yùn)行時(shí)間多態(tài)性的第三種示范方法。流程圖600A包括五(5)個(gè)方框602-610。在方框602處,應(yīng)用程序調(diào)用服務(wù)程序庫(kù)組件。例如,(圖5A中的)應(yīng)用程序504可以調(diào)用服務(wù)程序庫(kù)502。在方框604處,該應(yīng)用程序?qū)⒌谝环N類(lèi)型的第一對(duì)象和第二種類(lèi)型的第二對(duì)象提供給該服務(wù)程序庫(kù)。例如,應(yīng)用程序504可以使用鏈接506將類(lèi)型A的對(duì)象102(A)和類(lèi)型B的對(duì)象102(B)(通過(guò)指針引用等直接地)提供給服務(wù)程序庫(kù)502。
在方框606處,該服務(wù)程序庫(kù)使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,將這第一對(duì)象強(qiáng)制轉(zhuǎn)換到第三種類(lèi)型的第一被強(qiáng)制轉(zhuǎn)換對(duì)象。例如,服務(wù)程序庫(kù)502可以使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302,將強(qiáng)制轉(zhuǎn)換操作304(AC)中的對(duì)象102(A)強(qiáng)制轉(zhuǎn)換到類(lèi)型C的被強(qiáng)制轉(zhuǎn)換對(duì)象104(C1)。在方框608處,該服務(wù)程序庫(kù)使用該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,將這第二對(duì)象強(qiáng)制轉(zhuǎn)換到這第三種類(lèi)型的第二被強(qiáng)制轉(zhuǎn)換對(duì)象。例如,服務(wù)程序庫(kù)502可以使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302,將強(qiáng)制轉(zhuǎn)換操作304(BC)中的對(duì)象102(B)強(qiáng)制轉(zhuǎn)換到類(lèi)型C的被強(qiáng)制轉(zhuǎn)換對(duì)象104(C2)。
在方框610處,該服務(wù)程序庫(kù)維持由這些強(qiáng)制轉(zhuǎn)換操作建立的綁定。這些綁定在這第一對(duì)象與這第一被強(qiáng)制轉(zhuǎn)換對(duì)象之間,以及在這第二對(duì)象與這第二被強(qiáng)制轉(zhuǎn)換對(duì)象之間。在終止這第一被強(qiáng)制轉(zhuǎn)換對(duì)象和/或這第二被強(qiáng)制轉(zhuǎn)換對(duì)象之前,可以維持這些綁定。舉例來(lái)講,服務(wù)程序庫(kù)502可以維持對(duì)象102(A)與被強(qiáng)制轉(zhuǎn)換對(duì)象104(C1)之間的綁定,以及對(duì)象102(B)與被強(qiáng)制轉(zhuǎn)換對(duì)象104(C2)之間的綁定。作為選擇,應(yīng)用程序504或其他代碼可以分別維持對(duì)象102(A)和102(B)跟被強(qiáng)制轉(zhuǎn)換對(duì)象104(C1)和104(C2)之間的綁定。無(wú)論如何,都可以維持這些綁定,而無(wú)須進(jìn)一步引用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302。
圖5B是框圖500B,該框圖展示了運(yùn)行時(shí)間多態(tài)性的第四種示范途徑??驁D500B包括多個(gè)對(duì)象102(1,2…n)、運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302和被強(qiáng)制轉(zhuǎn)換對(duì)象104。如所展示的,強(qiáng)制轉(zhuǎn)換操作中涉及對(duì)象#1 102(1)、對(duì)象#2 102(2)和對(duì)象#n 102(n),以便使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302來(lái)創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象104。這樣,可以使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302將兩個(gè)或更多的對(duì)象102(1,2…n)強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104。
在所描述的實(shí)施中,通過(guò)使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302中的一項(xiàng)或多項(xiàng)特點(diǎn)映射說(shuō)明302MF,從多個(gè)對(duì)象102(1,2…n)中創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象104。運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302包括映射說(shuō)明302MF1和映射說(shuō)明302MF2。多個(gè)對(duì)象102(1,2…n)中的每個(gè)對(duì)象至少包括一個(gè)特點(diǎn)102F(1,2…n),例如,源特點(diǎn)。如框圖500B中所示,被強(qiáng)制轉(zhuǎn)換對(duì)象104至少包括兩個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)104F(1,2),例如,目的特點(diǎn)。
映射說(shuō)明302MF1利用特點(diǎn)映射304(111),將來(lái)自一個(gè)對(duì)象的一個(gè)特點(diǎn)映射到該被強(qiáng)制轉(zhuǎn)換對(duì)象的一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。明確地說(shuō),特點(diǎn)強(qiáng)制轉(zhuǎn)換操作304(111)將對(duì)象#1 102(1)的特點(diǎn)102F1強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104的被強(qiáng)制轉(zhuǎn)換特點(diǎn)104F1。映射說(shuō)明302MF2利用特點(diǎn)映射304(222)/304(n22)/304(2n22),將來(lái)自多個(gè)(不同的)對(duì)象的多個(gè)特點(diǎn)映射到該被強(qiáng)制轉(zhuǎn)換對(duì)象的一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。明確地說(shuō),特點(diǎn)強(qiáng)制轉(zhuǎn)換操作304(222)/304(n22)/304(2n22)將對(duì)象#2 102(2)的特點(diǎn)102F2和對(duì)象#n 102(n)的特點(diǎn)102Fn強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104的被強(qiáng)制轉(zhuǎn)換特點(diǎn)104F2。
雖然圖5B中如此展示,但是,應(yīng)該理解任何單一的強(qiáng)制轉(zhuǎn)換操作中不都需要一定發(fā)生特點(diǎn)映射304(111)和特點(diǎn)映射304(222)/304(n22)/304(2n22)。另外,在示范實(shí)施中參照以下關(guān)于圖7和圖8的說(shuō)明,對(duì)象#1 102(1)可以對(duì)應(yīng)于字符串表格對(duì)象,對(duì)象#2 102(2)可以對(duì)應(yīng)于圖像對(duì)象,對(duì)象#3 102(3)(其中,n=3)可以對(duì)應(yīng)于文件對(duì)象。應(yīng)該注意,在這種示范實(shí)施中,運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302中可能包括不同的映射說(shuō)明302MF。
圖6B是流程圖600B,該流程圖展示了關(guān)于運(yùn)行時(shí)間多態(tài)性的第四種示范方法。流程圖600B包括兩(2)個(gè)方框612和614。在方框612處,使用第一映射說(shuō)明將第一對(duì)象的第一個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象的第一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。例如,可以將對(duì)象#1 102(1)的(圖5B中的)特點(diǎn)102F1強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104的被強(qiáng)制轉(zhuǎn)換特點(diǎn)104F1。
在方框614處,使用第二映射說(shuō)明將第二對(duì)象的第二個(gè)特點(diǎn)和第三對(duì)象的第三個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換到該被強(qiáng)制轉(zhuǎn)換對(duì)象的第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。例如,可以將對(duì)象#2 102(2)的特點(diǎn)102F2和對(duì)象#n 102(n)的特點(diǎn)102Fn強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104的被強(qiáng)制轉(zhuǎn)換特點(diǎn)104F2。這第一項(xiàng)和第二項(xiàng)(特點(diǎn))映射說(shuō)明可能來(lái)自相同的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明(例如,運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302)。作為選擇,方框614的動(dòng)作另一方面可能排除這第三對(duì)象的第三個(gè)特點(diǎn),使得這第二項(xiàng)映射說(shuō)明不是它的函數(shù)(并且任選地不是函數(shù)類(lèi)型的映射說(shuō)明)。
圖7是框圖700,該框圖展示了運(yùn)行時(shí)間多態(tài)性的第五種示范途徑??驁D700包括兩個(gè)強(qiáng)制轉(zhuǎn)換對(duì)象702V和702A、規(guī)則704、圖形用戶界面(GUI)方框706、經(jīng)由GUI方框706而加以呈現(xiàn)的觀看方框708、應(yīng)用程序710和用戶712。強(qiáng)制轉(zhuǎn)換對(duì)象702V包括觀看對(duì)象102V、運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302和被強(qiáng)制轉(zhuǎn)換對(duì)象104V。觀看對(duì)象102V包括面向觀看的、與文件相關(guān)的信息。強(qiáng)制轉(zhuǎn)換對(duì)象702A包括應(yīng)用程序?qū)ο?02A、運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302和被強(qiáng)制轉(zhuǎn)換對(duì)象104A。應(yīng)用程序?qū)ο?02A包括面向應(yīng)用的、與文件相關(guān)的信息。
在所描述的實(shí)施中,強(qiáng)制轉(zhuǎn)換對(duì)象702V和702A用作按提鋼性方式代表對(duì)象的增強(qiáng)型對(duì)象。這種提鋼性對(duì)象表示法可以為更大的系統(tǒng)和/或環(huán)境提供關(guān)于自身的信息(例如,該增強(qiáng)型對(duì)象所暴露的那組屬性和方法)。在運(yùn)行時(shí)間,增強(qiáng)型對(duì)象使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,以便應(yīng)用這些正確的映射來(lái)執(zhí)行源對(duì)象與目的對(duì)象之間的多態(tài)特點(diǎn)層次的強(qiáng)制轉(zhuǎn)換操作。
這種增強(qiáng)型對(duì)象能夠執(zhí)行該目的對(duì)象的各個(gè)特點(diǎn),并且,它可以通過(guò)保持對(duì)其的內(nèi)部引用來(lái)包括該源對(duì)象。該增強(qiáng)型對(duì)象使用該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明來(lái)創(chuàng)建運(yùn)行時(shí)間綁定,這些運(yùn)行時(shí)間綁定有效地執(zhí)行如在那里所定義的這些特點(diǎn)強(qiáng)制轉(zhuǎn)換操作。對(duì)于每種特點(diǎn)強(qiáng)制轉(zhuǎn)換操作,可能有一種綁定??梢栽诿總€(gè)綁定的內(nèi)部用機(jī)會(huì)主義的方式(opportunistically)來(lái)評(píng)估這些特點(diǎn)強(qiáng)制轉(zhuǎn)換操作本身。例如,在一對(duì)一屬性映射中,當(dāng)更新該目的屬性值時(shí),可以更新該源屬性值,反之亦然。該更新可以任選地由該增強(qiáng)型對(duì)象來(lái)處理。
如關(guān)于所述實(shí)施的框圖700中所示,在使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302的強(qiáng)制轉(zhuǎn)換操作中,強(qiáng)制轉(zhuǎn)換對(duì)象702V從觀看對(duì)象102V中創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象104V??赡芨鶕?jù)其間的單獨(dú)的特點(diǎn)強(qiáng)制轉(zhuǎn)換操作,通過(guò)監(jiān)視對(duì)任何一個(gè)對(duì)象的變化,并通過(guò)響應(yīng)地執(zhí)行更新,強(qiáng)制轉(zhuǎn)換對(duì)象702V能夠維持觀看對(duì)象102V與被強(qiáng)制轉(zhuǎn)換對(duì)象104V之間的各種綁定。
同樣,在使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302的強(qiáng)制轉(zhuǎn)換操作中,強(qiáng)制轉(zhuǎn)換對(duì)象702A從應(yīng)用程序?qū)ο?02A中創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象104A??赡芨鶕?jù)其間的單獨(dú)的特點(diǎn)強(qiáng)制轉(zhuǎn)換操作,通過(guò)監(jiān)視對(duì)任何一個(gè)對(duì)象的變化,并通過(guò)響應(yīng)地執(zhí)行更新,強(qiáng)制轉(zhuǎn)換對(duì)象702A能夠維持應(yīng)用程序?qū)ο?02A與被強(qiáng)制轉(zhuǎn)換對(duì)象104A之間的各種綁定。
雖然未如此示出,但是,關(guān)于強(qiáng)制轉(zhuǎn)換對(duì)象702V和702A中的任何一種對(duì)象或這兩種對(duì)象的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302可能僅僅與其有關(guān)聯(lián),并且不一定作為其一部分而被包括在內(nèi)。此外,強(qiáng)制轉(zhuǎn)換對(duì)象702V和702A可以共享運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302。也應(yīng)該注意,例如,可以使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302從被強(qiáng)制轉(zhuǎn)換對(duì)象104V中創(chuàng)建觀看對(duì)象102V,以有助于維持應(yīng)用程序?qū)ο?02A與觀看對(duì)象102V之間的一致性。
當(dāng)使用相同的(例如,完全相同的或本質(zhì)上類(lèi)似的)運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302來(lái)加以創(chuàng)建時(shí),被強(qiáng)制轉(zhuǎn)換對(duì)象104V和被強(qiáng)制轉(zhuǎn)換對(duì)象104A可能屬于同一種類(lèi)型。實(shí)際上,通過(guò)使用相同的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302,可確保在被強(qiáng)制轉(zhuǎn)換對(duì)象104V和104A的構(gòu)成方面提高確定性和等效性。關(guān)于被強(qiáng)制轉(zhuǎn)換對(duì)象104V和104A的特點(diǎn)集的所產(chǎn)生的可預(yù)測(cè)性促進(jìn)了規(guī)則704的公式化及其隨后的應(yīng)用。
換言之,規(guī)則704在代碼大小和操作復(fù)雜性方面會(huì)更有效率,這是因?yàn)?i)不需要執(zhí)行誤差校驗(yàn);以及(ii)保證將要被實(shí)行這些規(guī)則的這些被強(qiáng)制轉(zhuǎn)換對(duì)象的特點(diǎn)集,作為使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302來(lái)強(qiáng)制轉(zhuǎn)換它們的結(jié)果。例如,規(guī)則704中不需要適應(yīng)關(guān)于被強(qiáng)制轉(zhuǎn)換對(duì)象104V和104A的構(gòu)成的運(yùn)行時(shí)間期間的意外事件或發(fā)現(xiàn),因?yàn)檫@可以得到有效的保證。
在操作中,當(dāng)觀看對(duì)象102V和應(yīng)用程序?qū)ο?02A分別被觀看方框708/GUI706和應(yīng)用程序710改變時(shí),強(qiáng)制轉(zhuǎn)換對(duì)象702V和702A以及規(guī)則704用于維持觀看對(duì)象102V與應(yīng)用程序?qū)ο?02A之間的一致性。當(dāng)應(yīng)用程序710改變應(yīng)用程序?qū)ο?02A時(shí),強(qiáng)制轉(zhuǎn)換對(duì)象702A經(jīng)由應(yīng)用程序?qū)ο?02A與被強(qiáng)制轉(zhuǎn)換對(duì)象104A之間的各種綁定,將該變化傳播給被強(qiáng)制轉(zhuǎn)換對(duì)象104A。當(dāng)對(duì)被強(qiáng)制轉(zhuǎn)換對(duì)象104A實(shí)行規(guī)則704時(shí),檢測(cè)對(duì)被強(qiáng)制轉(zhuǎn)換對(duì)象104A的變化。規(guī)則704將這個(gè)變化傳播給被強(qiáng)制轉(zhuǎn)換對(duì)象104V。
被強(qiáng)制轉(zhuǎn)換對(duì)象104A中的該變化經(jīng)由規(guī)則704到被強(qiáng)制轉(zhuǎn)換對(duì)象104V的傳播由其特點(diǎn)集的等效性的確定性來(lái)加以促進(jìn)。強(qiáng)制轉(zhuǎn)換對(duì)象702V經(jīng)由其間的各種綁定,將被強(qiáng)制轉(zhuǎn)換對(duì)象104V中的變化傳播給觀看對(duì)象102V。關(guān)于觀看708,GUI 706可以用對(duì)于用戶712而言顯而易見(jiàn)的方式來(lái)反映觀看對(duì)象102V中的變化。
也可以按相反的方向來(lái)執(zhí)行用于維持觀看對(duì)象102V與應(yīng)用程序?qū)ο?02A之間的一致性的過(guò)程/模式。因此,如果用戶712經(jīng)由觀看708/GUI 706來(lái)改變觀看對(duì)象102V,則可以通過(guò)被強(qiáng)制轉(zhuǎn)換對(duì)象104V、規(guī)則704、被強(qiáng)制轉(zhuǎn)換對(duì)象104A等,將這類(lèi)變化傳播給應(yīng)用程序?qū)ο?02A。應(yīng)該注意,也可以在不使用強(qiáng)制轉(zhuǎn)換對(duì)象702V和702A的提鋼性對(duì)象表示法的情況下,實(shí)現(xiàn)用于維持觀看對(duì)象102V與應(yīng)用程序?qū)ο?02A之間的一致性的過(guò)程。
圖8是流程圖800,該流程圖展示了關(guān)于運(yùn)行時(shí)間多態(tài)性的第五種示范方法。流程圖800包括五(5)個(gè)方框802-810。(圖7中的)框圖700展示了管理對(duì)象的示范途徑的至少一部分,流程圖800展示了關(guān)于管理對(duì)象的示范方法的至少一部分。
在方框802處,使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明將第一種類(lèi)型的第一對(duì)象強(qiáng)制轉(zhuǎn)換到第三種類(lèi)型的第一被強(qiáng)制轉(zhuǎn)換對(duì)象。例如,可以使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302將(圖7中的)應(yīng)用程序?qū)ο?02A強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104A。被強(qiáng)制轉(zhuǎn)換對(duì)象104A的類(lèi)型由運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302來(lái)確定。這種強(qiáng)制轉(zhuǎn)換可能任選地是增強(qiáng)型對(duì)象(例如,強(qiáng)制轉(zhuǎn)換對(duì)象702A)的一部分。
在方框804處,使用該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明將第二種類(lèi)型的第二對(duì)象強(qiáng)制轉(zhuǎn)換到這第三種類(lèi)型的第二被強(qiáng)制轉(zhuǎn)換對(duì)象。例如,可以使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302將觀看對(duì)象102V強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象104V,或者,反之亦然。被強(qiáng)制轉(zhuǎn)換對(duì)象104V的類(lèi)型也由運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302來(lái)確定,并且等同于該所述實(shí)施中的被強(qiáng)制轉(zhuǎn)換對(duì)象104A的類(lèi)型。這種強(qiáng)制轉(zhuǎn)換可能隨意地是增強(qiáng)型對(duì)象(例如,強(qiáng)制轉(zhuǎn)換對(duì)象702V)的一部分。
在方框806處,將算法應(yīng)用于這第一被強(qiáng)制轉(zhuǎn)換對(duì)象和這第二被強(qiáng)制轉(zhuǎn)換對(duì)象。例如,可以對(duì)被強(qiáng)制轉(zhuǎn)換對(duì)象104A和被強(qiáng)制轉(zhuǎn)換對(duì)象104V實(shí)行規(guī)則704(是這類(lèi)算法的例子),以便對(duì)它們進(jìn)行監(jiān)視并檢測(cè)對(duì)其的任何變化。另外,可以使用規(guī)則704,將在被強(qiáng)制轉(zhuǎn)換對(duì)象104A中所檢測(cè)到的變化傳播給被強(qiáng)制轉(zhuǎn)換對(duì)象104V,反之亦然。
如果這第一被強(qiáng)制轉(zhuǎn)換對(duì)象被一個(gè)或多個(gè)算法的應(yīng)用改變(例如,因?yàn)檫@些算法曾將在這第二被強(qiáng)制轉(zhuǎn)換對(duì)象中所檢測(cè)到的變化傳播給這第一被強(qiáng)制轉(zhuǎn)換對(duì)象),那么,在方框808處,響應(yīng)于對(duì)這第一被強(qiáng)制轉(zhuǎn)換對(duì)象的基于算法的變化,來(lái)修改這第一對(duì)象。例如,利用如根據(jù)運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302而建立的應(yīng)用程序?qū)ο?02A與被強(qiáng)制轉(zhuǎn)換對(duì)象104A之間的綁定,通過(guò)在其上實(shí)行規(guī)則704而產(chǎn)生的對(duì)被強(qiáng)制轉(zhuǎn)換對(duì)象104A的變化可以被傳播給應(yīng)用程序?qū)ο?02A。
同樣,如果這第二被強(qiáng)制轉(zhuǎn)換對(duì)象被一個(gè)或多個(gè)算法的應(yīng)用改變(例如,因?yàn)檫@些算法曾將在這第一被強(qiáng)制轉(zhuǎn)換對(duì)象中所檢測(cè)到的變化傳播給這第二被強(qiáng)制轉(zhuǎn)換對(duì)象),那么,在方框810處,響應(yīng)于對(duì)這第二被強(qiáng)制轉(zhuǎn)換對(duì)象的基于算法的變化,來(lái)修改這第二對(duì)象。例如,利用如根據(jù)運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302而建立的觀看對(duì)象102V與被強(qiáng)制轉(zhuǎn)換對(duì)象104V之間的綁定,通過(guò)在其上實(shí)行規(guī)則704而產(chǎn)生的對(duì)被強(qiáng)制轉(zhuǎn)換對(duì)象104V的變化可以被傳播給觀看對(duì)象102V。如被環(huán)繞的“A”和“B”所指出的,在已執(zhí)行方框808和810中的任何一個(gè)方框的動(dòng)作之后,可以在方框806處繼續(xù)流程,以便繼續(xù)應(yīng)用這些算法。
在圖示中展示了圖1-8的各種途徑和方法,這些圖示被分成多個(gè)方框。但是,描述并/或示出這些途徑和方法的順序和/或布局并不意在被解釋成起限制的作用,并且,可以按任何順序來(lái)組合、增加、除去和/或重新排列任何數(shù)量的這些方框,以便為運(yùn)行時(shí)間多態(tài)性執(zhí)行一種或多種系統(tǒng)、方法、媒體、裝置、布置等。另外,雖然這里的說(shuō)明包括對(duì)特殊實(shí)施(例如圖5A、5B和7中的實(shí)施)(以及圖9中的示范系統(tǒng)環(huán)境)的參考,但是,可以在任何合適的硬件、軟件、固件或其組合中實(shí)施這些途徑和方法,并使用任何合適的數(shù)據(jù)建模、編程語(yǔ)言、編碼機(jī)制等。
圖9展示了示范的計(jì)算操作環(huán)境900(或一般計(jì)算設(shè)備),該示范的計(jì)算操作環(huán)境900(或一般計(jì)算設(shè)備)能夠?yàn)槿邕@里所描述的運(yùn)行時(shí)間多態(tài)性(充分或部分地)實(shí)現(xiàn)至少一種系統(tǒng)、設(shè)備、媒體、部件、途徑、方法、過(guò)程、及它們的某種組合等。可以在以下所描述的計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)中,或在單機(jī)情況中利用計(jì)算環(huán)境900。
示范的計(jì)算設(shè)備操作環(huán)境900只是環(huán)境的一個(gè)例子,它并不意在對(duì)這些適用的計(jì)算設(shè)備結(jié)構(gòu)(包括計(jì)算機(jī)、消費(fèi)電子設(shè)備、游戲控制臺(tái)、置頂盒、移動(dòng)裝置等的結(jié)構(gòu))的使用或功能性的范圍提出任何限制。另外,計(jì)算設(shè)備環(huán)境900不會(huì)被解釋為具有涉及如圖9所示的任何一個(gè)部件或任何部件組合的任何從屬性或要求。而且,這些適用的計(jì)算設(shè)備不受到其中所使用的處理器/處理機(jī)制的限制。例如,這類(lèi)處理器/處理機(jī)制可以包括(但不局限于)電子集成電路(ICs)、量子計(jì)算、光計(jì)算、機(jī)械計(jì)算(例如,使用納米技術(shù))等。
此外,可以利用眾多其他的通用或?qū)S糜?jì)算設(shè)備(包括電子的)環(huán)境或配置來(lái)實(shí)施運(yùn)行時(shí)間多態(tài)性。可能適用的眾所周知的計(jì)算(設(shè)備)系統(tǒng)、環(huán)境和/或配置包括(但不局限于)個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、瘦客戶機(jī)、肥客戶機(jī)、個(gè)人數(shù)字助理(PDAs)或移動(dòng)電話、手持設(shè)備或便攜式設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程消費(fèi)電子設(shè)備、電視游戲機(jī)、游戲控制臺(tái)、便攜式或手持游戲設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括任何以上系統(tǒng)或設(shè)備及其某種組合等的分布式計(jì)算環(huán)境。
可以在處理器可執(zhí)行指令的一般上下文中描述關(guān)于運(yùn)行時(shí)間多態(tài)性的實(shí)施。通常,處理器可執(zhí)行指令包括執(zhí)行特殊任務(wù)或?qū)嵤┨厥獾某橄髷?shù)據(jù)類(lèi)型的例行程序、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)、其他代碼等。如這里的某些實(shí)施中所描述的,也可以在分布式計(jì)算環(huán)境中實(shí)踐運(yùn)行時(shí)間環(huán)境中的多態(tài)對(duì)象強(qiáng)制轉(zhuǎn)換,在這些分布式計(jì)算環(huán)境中,由通過(guò)通信鏈路和/或網(wǎng)絡(luò)被連接的遠(yuǎn)程聯(lián)接的處理設(shè)備來(lái)執(zhí)行任務(wù)。尤其在分布式計(jì)算環(huán)境中,處理器可執(zhí)行指令可以位于分開(kāi)的存儲(chǔ)媒體(由不同的處理器執(zhí)行)中,并且/或者存在于傳輸媒體上或在其上加以傳播。
計(jì)算設(shè)備環(huán)境900包括采用計(jì)算機(jī)902形式的通用計(jì)算設(shè)備,它可以包括具有計(jì)算性能和/或處理性能的任何計(jì)算設(shè)備。計(jì)算機(jī)902的這些部件可以包括(但不局限于)一個(gè)或多個(gè)處理器或處理單元904、系統(tǒng)存儲(chǔ)器906和系統(tǒng)總線908,系統(tǒng)總線908將包括處理器904的各種系統(tǒng)組件耦合到系統(tǒng)存儲(chǔ)器906。
系統(tǒng)總線908表現(xiàn)了任何的幾種類(lèi)型的有線或無(wú)線總線結(jié)構(gòu)(包括存儲(chǔ)總線或存儲(chǔ)控制器、外圍總線、加速圖形端口和使用各種總線構(gòu)造中的任何總線構(gòu)造的處理器或局部總線)中的一種或多種有線或無(wú)線總線結(jié)構(gòu)。舉例來(lái)講,這類(lèi)構(gòu)造可以包括“工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)”(ISA)總線、“微通道結(jié)構(gòu)”(MCA)總線、“增強(qiáng)型ISA(EISA)”總線、“視頻電子標(biāo)準(zhǔn)協(xié)會(huì)”(VESA)局域總線、也被稱(chēng)作“中間層(Mezzanine)總線”的“外圍部件互連”(PCI)總線、它們的某種組合等。
計(jì)算機(jī)902通常包括各種處理器可存取介質(zhì)。這類(lèi)介質(zhì)可以是可由計(jì)算機(jī)902或另一種計(jì)算設(shè)備進(jìn)行存取的任何可用介質(zhì),并且,它包括易失和非易失介質(zhì)、可移動(dòng)和不可移動(dòng)的介質(zhì),以及存儲(chǔ)和傳輸介質(zhì)。
系統(tǒng)存儲(chǔ)器906包括采用易失存儲(chǔ)器(例如,隨機(jī)存取存儲(chǔ)器(RAM)910)和/或非易失存儲(chǔ)器(例如,只讀存儲(chǔ)器(ROM)912)的形式的處理器可存取存儲(chǔ)介質(zhì)?;据斎?輸出系統(tǒng)(BIOS)914通常被存儲(chǔ)在ROM 912中,該基本輸入/輸出系統(tǒng)包含有助于在計(jì)算機(jī)902內(nèi)的各個(gè)元件之間傳送信息(例如,在啟動(dòng)期間)的基本例行程序。RAM 910通常包含可由處理單元904立即存取并且/或者目前正由處理單元904進(jìn)行操作的數(shù)據(jù)和/或程序模塊/指令。
計(jì)算機(jī)902也可以包括其他的可移動(dòng)/不可移動(dòng)和/或易失/非易失存儲(chǔ)介質(zhì)。舉例來(lái)講,圖9展示了硬盤(pán)驅(qū)動(dòng)器或磁盤(pán)驅(qū)動(dòng)器陣列916,用于從(通常是)不可移動(dòng)的非易失磁性介質(zhì)讀取并對(duì)其寫(xiě)入(未分開(kāi)示出);磁盤(pán)驅(qū)動(dòng)器918,用于從(通常是)可移動(dòng)的非易失磁盤(pán)920(例如,“軟盤(pán)”)讀取并對(duì)其寫(xiě)入;以及光盤(pán)驅(qū)動(dòng)器922,用于從(通常是)可移動(dòng)的非易失光盤(pán)924(例如,CD-ROM、DVD-ROM或其他光學(xué)介質(zhì))讀取并/或?qū)ζ鋵?xiě)入。硬盤(pán)驅(qū)動(dòng)器916、磁盤(pán)驅(qū)動(dòng)器918和光盤(pán)驅(qū)動(dòng)器922每個(gè)都由一個(gè)或多個(gè)存儲(chǔ)介質(zhì)接口926連接到系統(tǒng)總線908。作為選擇,硬盤(pán)驅(qū)動(dòng)器916、磁盤(pán)驅(qū)動(dòng)器918和光盤(pán)驅(qū)動(dòng)器922可以由一個(gè)或多個(gè)其他分開(kāi)的或組合的接口(未示出)連接到系統(tǒng)總線908。
這些磁盤(pán)驅(qū)動(dòng)器及其關(guān)聯(lián)的處理器可存取介質(zhì)為計(jì)算機(jī)902提供處理器可執(zhí)行指令(例如,數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù))的非易失存儲(chǔ)。雖然示范的計(jì)算機(jī)902展示了硬盤(pán)916、可移動(dòng)磁盤(pán)920和可移動(dòng)光盤(pán)924,但是,將會(huì)理解其他類(lèi)型的處理器可存取介質(zhì)可以存儲(chǔ)可由計(jì)算設(shè)備(例如,盒式磁帶或其他磁性存儲(chǔ)設(shè)備、快閃存儲(chǔ)器、CD-ROM、數(shù)字通用光盤(pán)(DVD)或其他光學(xué)存儲(chǔ)器、RAM、ROM、電可擦除可編程只讀存儲(chǔ)器(EEPROM)等)存取的指令。這類(lèi)介質(zhì)也可以包括所謂的專(zhuān)用或硬連線的集成電路(IC)芯片。換言之,可以利用任何處理器可存取介質(zhì)來(lái)實(shí)現(xiàn)示范的計(jì)算系統(tǒng)和環(huán)境900的存儲(chǔ)介質(zhì)。
任何數(shù)量的程序模塊(或處理器可執(zhí)行指令的其他單位或集合)可以被存儲(chǔ)在硬盤(pán)916、磁盤(pán)920、光盤(pán)924、ROM 912和/或RAM 910上,一般舉例來(lái)講,包括操作系統(tǒng)928、一個(gè)或多個(gè)應(yīng)用程序930、其他程序模塊932和程序數(shù)據(jù)934。特殊舉例來(lái)講(但不作限制),(圖1、3、5A、5B和7中的)對(duì)象102、被強(qiáng)制轉(zhuǎn)換對(duì)象104、運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明302、應(yīng)用程序504/710、服務(wù)程序庫(kù)502、強(qiáng)制轉(zhuǎn)換對(duì)象702、規(guī)則704等可能是這類(lèi)程序模塊928、930、932和934中的任何一個(gè)或多個(gè)程序模塊的一部分。
例如,正在經(jīng)由GUI 706修改觀看對(duì)象102V的(圖7中的)用戶712可以經(jīng)由輸入設(shè)備(例如,鍵盤(pán)936)和指點(diǎn)設(shè)備938(例如,“鼠標(biāo)”)來(lái)將命令和/或信息輸入計(jì)算機(jī)902。其他輸入設(shè)備940(未明確地示出)可以包括話筒、操縱桿、游戲墊、圓盤(pán)式衛(wèi)星電視天線、串行端口、掃描儀和/或類(lèi)似的輸入設(shè)備。這些和其他的輸入設(shè)備經(jīng)由被耦合到系統(tǒng)總線908的輸入/輸出接口942而被連接到處理單元904。但是,它們也可以通過(guò)其他接口和總線結(jié)構(gòu)(例如,并行端口、游戲端口、通用串行總線(USB)端口、IEEE 1394(“Firewire”)接口、IEEE 802.11無(wú)線接口、Bluetooth無(wú)線接口等來(lái)加以連接。
監(jiān)視器/觀看屏幕944或其他類(lèi)型的顯示設(shè)備也可以經(jīng)由接口(例如,視頻適配器946)被連接到系統(tǒng)總線908。視頻適配器946(或另一個(gè)部件)可能是或可能包括圖形卡,該圖形卡用于處理圖形密集的計(jì)算,并用于處理需要技能的顯示要求。通常,圖形卡包括圖形處理單元(GPU)、視頻RAM(VRAM)等,以促進(jìn)圖形操作的敏捷的性能。除監(jiān)視器944以外,其他輸出外圍設(shè)備還可以包括諸如揚(yáng)聲器(未示出)和打印機(jī)948等部件,這些部件可以經(jīng)由輸入/輸出接口942被連接到計(jì)算機(jī)902。
計(jì)算機(jī)902可以在使用與一臺(tái)或多臺(tái)遠(yuǎn)程計(jì)算機(jī)(例如,遠(yuǎn)程計(jì)算設(shè)備950)的邏輯連接的聯(lián)網(wǎng)環(huán)境中進(jìn)行操作。舉例來(lái)講,遠(yuǎn)程計(jì)算設(shè)備950可能是個(gè)人計(jì)算機(jī)、便攜式計(jì)算機(jī)(例如,膝上型計(jì)算機(jī)、寫(xiě)字板計(jì)算機(jī)、PDA、移動(dòng)站等)、掌上或可置于口袋的計(jì)算機(jī)、游戲設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)計(jì)算機(jī)、對(duì)等設(shè)備、其他公共網(wǎng)絡(luò)節(jié)點(diǎn)、或如以上所列出的另一種計(jì)算機(jī)類(lèi)型等。但是,遠(yuǎn)程計(jì)算設(shè)備950被展示為便攜式計(jì)算機(jī),該便攜式計(jì)算機(jī)可以包括這里根據(jù)計(jì)算機(jī)902所描述的元件和特點(diǎn)中的許多或全部元件和特點(diǎn)。
計(jì)算機(jī)902與遠(yuǎn)程計(jì)算機(jī)950之間的邏輯連接被描繪成局域網(wǎng)(LAN)952和一般的廣域網(wǎng)(WAN)954。這類(lèi)聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、因特網(wǎng)、固定和移動(dòng)的電話網(wǎng)、其他無(wú)線網(wǎng)絡(luò)、游戲網(wǎng)絡(luò)、它們的某種組合等中很普遍。
當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中加以實(shí)現(xiàn)時(shí),計(jì)算機(jī)902通常經(jīng)由網(wǎng)絡(luò)接口或適配器956被連接到LAN 952。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中加以實(shí)現(xiàn)時(shí),計(jì)算機(jī)902通常包括調(diào)制解調(diào)器958或用于在WAN 954上建立通信的其他裝置。調(diào)制解調(diào)器958(可能在計(jì)算機(jī)902的內(nèi)部或外部)可以經(jīng)由輸入/輸出接口942或任何其他合適的方案而被連接到系統(tǒng)總線908。將會(huì)理解所展示的網(wǎng)絡(luò)連接起示范的作用,并且,可以使用在計(jì)算機(jī)902與950之間建立通信線路的其他裝置。
在聯(lián)網(wǎng)環(huán)境(例如,利用計(jì)算設(shè)備環(huán)境900所展示的聯(lián)網(wǎng)環(huán)境)中,相對(duì)于計(jì)算機(jī)902或其各個(gè)部分而加以描繪的程序模塊或其他指令可以被完全或部分地存儲(chǔ)在遠(yuǎn)程記憶存儲(chǔ)設(shè)備中。舉例來(lái)講,遠(yuǎn)程應(yīng)用程序960駐留在遠(yuǎn)程計(jì)算機(jī)950的存儲(chǔ)部件上,但可以經(jīng)由計(jì)算機(jī)902來(lái)加以使用或存取。此外,出于說(shuō)明的目的,應(yīng)用程序930和其他處理器可執(zhí)行指令(例如,操作系統(tǒng)928)在這里被展示為離散的框,但可以認(rèn)識(shí)到這類(lèi)程序、部件和其他指令在各個(gè)時(shí)間上可以駐留在計(jì)算設(shè)備902(和/或遠(yuǎn)程計(jì)算設(shè)備950)的不同的存儲(chǔ)部件中,并且由計(jì)算機(jī)902的數(shù)據(jù)處理器904(和/或遠(yuǎn)程計(jì)算設(shè)備950的數(shù)據(jù)處理器)來(lái)執(zhí)行。
如上所述,傳統(tǒng)的多態(tài)性模型單單基于類(lèi)型,并需要具有在編譯時(shí)間被定義的多態(tài)性。源類(lèi)型信息和目的類(lèi)型信息也在編譯時(shí)間被加以充分定義。另外,在傳統(tǒng)的多態(tài)性中,一特定類(lèi)型被多態(tài)化為另一種特定類(lèi)型,這需要對(duì)于每種唯一的源類(lèi)型具有唯一的目的類(lèi)型(一對(duì)一強(qiáng)制轉(zhuǎn)換)。
另一方面,如這里所描述的某些實(shí)施提供了多態(tài)性范例,通過(guò)使用該過(guò)程的元數(shù)據(jù)說(shuō)明,該多態(tài)性范例允許在運(yùn)行時(shí)間使用增強(qiáng)型多態(tài)性模式將任意類(lèi)型的對(duì)象強(qiáng)制轉(zhuǎn)換到新的類(lèi)型中。在某些所描述的實(shí)施中,該增強(qiáng)型多態(tài)性范例涉及以下的一項(xiàng)或多項(xiàng)內(nèi)容(i)通過(guò)包括源的特點(diǎn),來(lái)實(shí)行多態(tài)性延伸;(ii)具有元數(shù)據(jù)的多態(tài)性定義,這在運(yùn)行時(shí)間加以解釋?zhuān)?iii)源類(lèi)型獨(dú)立性,其中,可以在運(yùn)行時(shí)間發(fā)現(xiàn)源類(lèi)型信息;(iv)多對(duì)一強(qiáng)制轉(zhuǎn)換,用于使任意的源類(lèi)型多態(tài)化為具有正在被用于任何源類(lèi)型的相同的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換定義的目的類(lèi)型;以及(v)運(yùn)行時(shí)間自適應(yīng)性,其中,不管在運(yùn)行時(shí)間所發(fā)現(xiàn)的源類(lèi)型如何,都強(qiáng)制轉(zhuǎn)換目的類(lèi)型。
雖然已用針對(duì)組件、算法以及函數(shù)特點(diǎn)和/或圖示的語(yǔ)言描述了系統(tǒng)、媒體、方法、途徑、過(guò)程、布置、裝置、設(shè)備和其他實(shí)施,但是,將會(huì)理解所附權(quán)利要求書(shū)中所定義的發(fā)明并不一定局限于所描述的特殊的特點(diǎn)或圖示。相反,這些特殊的特點(diǎn)和圖示被揭示為實(shí)施所聲明的發(fā)明的示范形式。
權(quán)利要求
1.一種計(jì)算設(shè)備,其特征在于包括一個(gè)或多個(gè)處理器;以及,與這一個(gè)或多個(gè)處理器進(jìn)行有效通信的一個(gè)或多個(gè)媒體,這一個(gè)或多個(gè)媒體包括第一種類(lèi)型的對(duì)象;元數(shù)據(jù),能夠被用來(lái)在運(yùn)行時(shí)間環(huán)境中強(qiáng)制轉(zhuǎn)換未知對(duì)象;以及,處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令使這一個(gè)或多個(gè)處理器執(zhí)行動(dòng)作,該動(dòng)作包括在該運(yùn)行時(shí)間環(huán)境中使用該元數(shù)據(jù)來(lái)將這第一種類(lèi)型的對(duì)象強(qiáng)制轉(zhuǎn)換為第二種類(lèi)型的被強(qiáng)制轉(zhuǎn)換對(duì)象,這第一種類(lèi)型不同于這第二種類(lèi)型。
2.如權(quán)利要求1中所述的計(jì)算設(shè)備,其特征在于其中,該元數(shù)據(jù)描述任意類(lèi)型的對(duì)象到這第二種類(lèi)型的對(duì)象的強(qiáng)制轉(zhuǎn)換。
3.如權(quán)利要求1中所述的計(jì)算設(shè)備,其特征在于其中,這一個(gè)或多個(gè)媒體進(jìn)一步包括這第二種類(lèi)型的被強(qiáng)制轉(zhuǎn)換對(duì)象。
4.如權(quán)利要求1中所述的計(jì)算設(shè)備,其特征在于其中,這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),使這一個(gè)或多個(gè)處理器執(zhí)行進(jìn)一步的動(dòng)作,這些動(dòng)作包括輸入該運(yùn)行時(shí)間環(huán)境;以及,在輸入該運(yùn)行時(shí)間環(huán)境之后,發(fā)現(xiàn)該對(duì)象的這第一種類(lèi)型。
5.如權(quán)利要求1中所述的計(jì)算設(shè)備,其特征在于其中,該元數(shù)據(jù)包括具有多項(xiàng)映射說(shuō)明的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明。
6.一個(gè)或多個(gè)處理器可存取介質(zhì),其特征在于包括處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示計(jì)算設(shè)備執(zhí)行操作,這些操作包括在運(yùn)行時(shí)間環(huán)境中時(shí),發(fā)現(xiàn)對(duì)象的至少一種類(lèi)型;以及,通過(guò)使用元數(shù)據(jù)將該對(duì)象強(qiáng)制轉(zhuǎn)換為該被強(qiáng)制轉(zhuǎn)換對(duì)象,來(lái)從該對(duì)象中創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象。
7.如權(quán)利要求6中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的操作,該操作包括在執(zhí)行該發(fā)現(xiàn)操作之前,輸入該運(yùn)行時(shí)間環(huán)境。
8.如權(quán)利要求6中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,該創(chuàng)建操作進(jìn)一步包括一項(xiàng)操作,以便通過(guò)從這至少一種類(lèi)型的對(duì)象進(jìn)行強(qiáng)制轉(zhuǎn)換,來(lái)創(chuàng)建具有第一種類(lèi)型的被強(qiáng)制轉(zhuǎn)換對(duì)象,這至少一種類(lèi)型屬于第二種類(lèi)型,這第一種類(lèi)型不同于這第二種類(lèi)型。
9.如權(quán)利要求6中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,該創(chuàng)建操作進(jìn)一步包括一項(xiàng)操作,以便在該運(yùn)行時(shí)間環(huán)境中解釋該元數(shù)據(jù)。
10.一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示計(jì)算設(shè)備執(zhí)行動(dòng)作,這些動(dòng)作包括從運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明中檢索至少一項(xiàng)映射說(shuō)明,這至少一項(xiàng)映射說(shuō)明定義特點(diǎn)層次的映射,以創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象;以及,根據(jù)至少一項(xiàng)映射說(shuō)明來(lái)執(zhí)行特點(diǎn)強(qiáng)制轉(zhuǎn)換操作。
11.如權(quán)利要求10中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,執(zhí)行動(dòng)作包括在運(yùn)行時(shí)間環(huán)境中執(zhí)行該特點(diǎn)強(qiáng)制轉(zhuǎn)換操作。
12.如權(quán)利要求10中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于執(zhí)行動(dòng)作包括根據(jù)這至少一項(xiàng)映射說(shuō)明,來(lái)為該被強(qiáng)制轉(zhuǎn)換對(duì)象映射被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
13.如權(quán)利要求12中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,該被強(qiáng)制轉(zhuǎn)換特點(diǎn)包括一個(gè)屬性,并且,映射動(dòng)作包括將該屬性作為該被強(qiáng)制轉(zhuǎn)換對(duì)象的新宣稱(chēng)的特點(diǎn)來(lái)加以映射。
14.如權(quán)利要求12中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,該被強(qiáng)制轉(zhuǎn)換特點(diǎn)包括一種方法,并且,映射動(dòng)作包括將該方法作為該被強(qiáng)制轉(zhuǎn)換對(duì)象的新宣稱(chēng)的特點(diǎn)來(lái)加以映射。
15.如權(quán)利要求10中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,執(zhí)行動(dòng)作包括根據(jù)這至少一項(xiàng)映射說(shuō)明,來(lái)過(guò)濾對(duì)象的至少一個(gè)特點(diǎn)。
16.如權(quán)利要求15中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,這至少一個(gè)特點(diǎn)包括一個(gè)屬性,并且,過(guò)濾動(dòng)作包括過(guò)濾該對(duì)象的該屬性,以便不將該屬性強(qiáng)制轉(zhuǎn)換到該被強(qiáng)制轉(zhuǎn)換對(duì)象。
17.如權(quán)利要求15中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,這至少一個(gè)特點(diǎn)包括一種方法,并且,過(guò)濾動(dòng)作包括過(guò)濾該對(duì)象的該方法,以便不將該方法強(qiáng)制轉(zhuǎn)換到該被強(qiáng)制轉(zhuǎn)換對(duì)象。
18.如權(quán)利要求10中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,執(zhí)行動(dòng)作包括根據(jù)這至少一項(xiàng)映射說(shuō)明,來(lái)映射對(duì)象的至少一個(gè)預(yù)定的特點(diǎn)。
19.如權(quán)利要求18中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,映射動(dòng)作包括將該對(duì)象的屬性反映到該被強(qiáng)制轉(zhuǎn)換對(duì)象的被強(qiáng)制轉(zhuǎn)換屬性。
20.如權(quán)利要求18中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,映射動(dòng)作包括將該對(duì)象的屬性變換成該被強(qiáng)制轉(zhuǎn)換對(duì)象的被強(qiáng)制轉(zhuǎn)換屬性。
21.如權(quán)利要求18中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,映射動(dòng)作包括將該對(duì)象的屬性重新命名為該被強(qiáng)制轉(zhuǎn)換對(duì)象的被強(qiáng)制轉(zhuǎn)換屬性。
22.如權(quán)利要求18中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,映射動(dòng)作包括將被強(qiáng)制轉(zhuǎn)換屬性映射到該被強(qiáng)制轉(zhuǎn)換對(duì)象,作為該對(duì)象的至少一個(gè)屬性的函數(shù)。
23.如權(quán)利要求18中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,映射動(dòng)作包括將該對(duì)象的方法反映到該被強(qiáng)制轉(zhuǎn)換對(duì)象的被強(qiáng)制轉(zhuǎn)換方法。
24.一種計(jì)算設(shè)備,其特征在于包括具有多個(gè)特點(diǎn)的對(duì)象;具有多個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)的被強(qiáng)制轉(zhuǎn)換對(duì)象;以及,具有多項(xiàng)映射說(shuō)明的運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,這多項(xiàng)映射說(shuō)明的至少一個(gè)部分的每項(xiàng)映射說(shuō)明適合定義該對(duì)象的這多個(gè)特點(diǎn)中的一個(gè)或多個(gè)特點(diǎn)到該被強(qiáng)制轉(zhuǎn)換對(duì)象的這多個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)中的至少一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)的映射。
25.如權(quán)利要求24中所述的計(jì)算設(shè)備,其特征在于其中,這多項(xiàng)映射說(shuō)明的這至少一個(gè)部分包括屬性反映映射、變換映射、重新命名映射、函數(shù)映射和方法反映映射中的至少一種映射。
26.如權(quán)利要求24中所述的計(jì)算設(shè)備,其特征在于其中,這多項(xiàng)映射說(shuō)明的另一個(gè)部分的每項(xiàng)映射說(shuō)明適合定義該對(duì)象的這多個(gè)特點(diǎn)中的一個(gè)或多個(gè)特點(diǎn)的過(guò)濾映射,以便不將這一個(gè)或多個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換到該被強(qiáng)制轉(zhuǎn)換對(duì)象。
27.如權(quán)利要求24中所述的計(jì)算設(shè)備,其特征在于其中,這多項(xiàng)映射說(shuō)明的另一個(gè)部分的每項(xiàng)映射說(shuō)明適合為該被強(qiáng)制轉(zhuǎn)換對(duì)象的這多個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)中的至少一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)定義一宣稱(chēng)映射。
28.如權(quán)利要求24中所述的計(jì)算設(shè)備,其特征在于其中,這多項(xiàng)映射說(shuō)明中的至少一項(xiàng)映射說(shuō)明包括一個(gè)或多個(gè)默認(rèn)參數(shù),以適應(yīng)來(lái)自該對(duì)象的這多個(gè)特點(diǎn)中的預(yù)期的預(yù)定特點(diǎn)的缺乏。
29.如權(quán)利要求28中所述的計(jì)算設(shè)備,其特征在于其中,包括這一個(gè)或多個(gè)默認(rèn)參數(shù)的這至少一項(xiàng)映射說(shuō)明適合使用這一個(gè)或多個(gè)默認(rèn)參數(shù)來(lái)定義映射,以創(chuàng)建該被強(qiáng)制轉(zhuǎn)換對(duì)象的這多個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)中的至少一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
30.一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示計(jì)算設(shè)備執(zhí)行動(dòng)作,這些動(dòng)作包括從運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明中檢索關(guān)于預(yù)定特點(diǎn)的映射說(shuō)明;確定將要被強(qiáng)制轉(zhuǎn)換的對(duì)象中是否存在該預(yù)定特點(diǎn);以及,如果不存在,則從該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明中確定與該預(yù)定特點(diǎn)有關(guān)的一個(gè)或多個(gè)默認(rèn)參數(shù)。
31.如權(quán)利要求30中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,確定動(dòng)作包括從該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明的映射說(shuō)明中確定與該預(yù)定特點(diǎn)有關(guān)的這一個(gè)或多個(gè)默認(rèn)參數(shù)。
32.如權(quán)利要求30中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,該動(dòng)作包括使用這一個(gè)或多個(gè)默認(rèn)參數(shù),在被強(qiáng)制轉(zhuǎn)換對(duì)象中創(chuàng)建被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
33.如權(quán)利要求30中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,該動(dòng)作包括如果在確定動(dòng)作中確定將要被強(qiáng)制轉(zhuǎn)換的該對(duì)象中存在該預(yù)定特點(diǎn),則根據(jù)該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明的該映射說(shuō)明,將該對(duì)象的該預(yù)定特點(diǎn)強(qiáng)制轉(zhuǎn)換到被強(qiáng)制轉(zhuǎn)換對(duì)象的被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
34.如權(quán)利要求30中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,該動(dòng)作包括在檢索動(dòng)作之前,輸入運(yùn)行時(shí)間環(huán)境。
35.一種計(jì)算設(shè)備,其特征在于包括一個(gè)或多個(gè)處理器;以及,與這一個(gè)或多個(gè)處理器進(jìn)行有效通信的一個(gè)或多個(gè)媒體,這一個(gè)或多個(gè)媒體包括第一種類(lèi)型的第一對(duì)象;第二種類(lèi)型的第二對(duì)象;以及,定義強(qiáng)制轉(zhuǎn)換過(guò)程的元數(shù)據(jù),該強(qiáng)制轉(zhuǎn)換過(guò)程能夠使這第一種類(lèi)型的第一對(duì)象多態(tài)化為第三種類(lèi)型的第一被強(qiáng)制轉(zhuǎn)換對(duì)象,并且能夠使這第二種類(lèi)型的第二對(duì)象多態(tài)化為這第三種類(lèi)型的第二被強(qiáng)制轉(zhuǎn)換對(duì)象。
36.如權(quán)利要求35中所述的計(jì)算設(shè)備,其特征在于其中,該元數(shù)據(jù)包括運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明包括多項(xiàng)映射說(shuō)明,這多項(xiàng)映射說(shuō)明定義可以在運(yùn)行時(shí)間環(huán)境中加以實(shí)行的多項(xiàng)單獨(dú)的特點(diǎn)強(qiáng)制轉(zhuǎn)換操作。
37.如權(quán)利要求35中所述的計(jì)算設(shè)備,其特征在于其中,這一個(gè)或多個(gè)媒體進(jìn)一步包括這第三種類(lèi)型的第一被強(qiáng)制轉(zhuǎn)換對(duì)象和這第三種類(lèi)型的第二被強(qiáng)制轉(zhuǎn)換對(duì)象。
38.如權(quán)利要求35中所述的計(jì)算設(shè)備,其特征在于其中,這一個(gè)或多個(gè)媒體進(jìn)一步包括與這第一對(duì)象和第二對(duì)象關(guān)聯(lián)的應(yīng)用程序;并且,其中,該應(yīng)用程序包括處理器可執(zhí)行指令,這些處理器可執(zhí)行指令適合解釋該元數(shù)據(jù),并適合根據(jù)所定義的強(qiáng)制轉(zhuǎn)換過(guò)程來(lái)執(zhí)行多形態(tài)的操作。
39.如權(quán)利要求35中所述的計(jì)算設(shè)備,其特征在于其中,這一個(gè)或多個(gè)媒體進(jìn)一步包括(i)與這第一對(duì)象和第二對(duì)象關(guān)聯(lián)的第一個(gè)應(yīng)用程序,以及(ii)包括處理器可執(zhí)行指令的第二個(gè)應(yīng)用程序,這些處理器可執(zhí)行指令適合解釋該元數(shù)據(jù),并適合根據(jù)所定義的強(qiáng)制轉(zhuǎn)換過(guò)程來(lái)執(zhí)行多形態(tài)的操作。
40.如權(quán)利要求39中所述的計(jì)算設(shè)備,其特征在于其中,這第二個(gè)應(yīng)用程序包括服務(wù)程序庫(kù)。
41.如權(quán)利要求39中所述的計(jì)算設(shè)備,其特征在于其中,這第二個(gè)應(yīng)用程序適合執(zhí)行以下內(nèi)容(i)使這第一種類(lèi)型的第一對(duì)象多態(tài)化為這第三種類(lèi)型的第一被強(qiáng)制轉(zhuǎn)換對(duì)象;以及(ii)使這第二種類(lèi)型的第二對(duì)象多態(tài)化為這第三種類(lèi)型的第二被強(qiáng)制轉(zhuǎn)換對(duì)象。
42.如權(quán)利要求39中所述的計(jì)算設(shè)備,其特征在于其中,這第一個(gè)應(yīng)用程序適合請(qǐng)求這第二個(gè)應(yīng)用程序執(zhí)行以下內(nèi)容(i)使這第一種類(lèi)型的第一對(duì)象多態(tài)化為這第三種類(lèi)型的第一被強(qiáng)制轉(zhuǎn)換對(duì)象;以及(ii)使這第二種類(lèi)型的第二對(duì)象多態(tài)化為這第三種類(lèi)型的第二被強(qiáng)制轉(zhuǎn)換對(duì)象。
43.一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示計(jì)算設(shè)備執(zhí)行動(dòng)作,這些動(dòng)作包括使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,將第一種類(lèi)型的第一對(duì)象強(qiáng)制轉(zhuǎn)換為第三種類(lèi)型的第一被強(qiáng)制轉(zhuǎn)換對(duì)象;以及,使用該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,將第二種類(lèi)型的第二對(duì)象強(qiáng)制轉(zhuǎn)換到這第三種類(lèi)型的第二被強(qiáng)制轉(zhuǎn)換對(duì)象。
44.如權(quán)利要求43中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中強(qiáng)制轉(zhuǎn)換第一對(duì)象的動(dòng)作包括在這第一對(duì)象與這第一被強(qiáng)制轉(zhuǎn)換對(duì)象之間建立綁定的動(dòng)作;以及,強(qiáng)制轉(zhuǎn)換第二對(duì)象的動(dòng)作包括在這第二對(duì)象與這第二被被強(qiáng)制轉(zhuǎn)換對(duì)象之間建立綁定的動(dòng)作;其中,這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,該動(dòng)作包括維持由這些強(qiáng)制轉(zhuǎn)換動(dòng)作建立的各種綁定。
45.如權(quán)利要求44中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,這些處理器可執(zhí)行指令的至少一個(gè)部分包括可再用的服務(wù)程序庫(kù)組件的至少一部分。
46.如權(quán)利要求43中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,從第一基本對(duì)象中導(dǎo)出這第一對(duì)象,并從第二基本對(duì)象中導(dǎo)出這第二對(duì)象,這第一基本對(duì)象和第二基本對(duì)象屬于不同的類(lèi)型。
47.如權(quán)利要求43中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,由應(yīng)用程序來(lái)執(zhí)行強(qiáng)制轉(zhuǎn)換第一對(duì)象的動(dòng)作和強(qiáng)制轉(zhuǎn)換第二對(duì)象的動(dòng)作。
48.如權(quán)利要求47中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,該應(yīng)用程序包括服務(wù)程序庫(kù)的至少一部分。
49.如權(quán)利要求47中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,該動(dòng)作包括由另一個(gè)應(yīng)用程序?qū)⑦@第一對(duì)象和第二對(duì)象提供給該應(yīng)用程序。
50.如權(quán)利要求47中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,該動(dòng)作包括由另一個(gè)應(yīng)用程序調(diào)用該應(yīng)用程序,以促成這些強(qiáng)制轉(zhuǎn)換動(dòng)作的執(zhí)行。
51.一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示計(jì)算設(shè)備執(zhí)行動(dòng)作,這些動(dòng)作包括使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,將第一種類(lèi)型的第一對(duì)象強(qiáng)制轉(zhuǎn)換到第三種類(lèi)型的第一被強(qiáng)制轉(zhuǎn)換對(duì)象;使用該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,將第二種類(lèi)型的第二對(duì)象強(qiáng)制轉(zhuǎn)換到這第三種類(lèi)型的第二被強(qiáng)制轉(zhuǎn)換對(duì)象;以及,將一個(gè)或多個(gè)算法應(yīng)用于這第一被強(qiáng)制轉(zhuǎn)換對(duì)象和第二被強(qiáng)制轉(zhuǎn)換對(duì)象。
52.如權(quán)利要求51中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,應(yīng)用動(dòng)作進(jìn)一步包括檢測(cè)這第二被強(qiáng)制轉(zhuǎn)換對(duì)象中的變化;以及,將該變化傳播給這第一被強(qiáng)制轉(zhuǎn)換對(duì)象。
53.如權(quán)利要求52中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,該動(dòng)作包括響應(yīng)于在該傳播動(dòng)作中被傳播給這第一被強(qiáng)制轉(zhuǎn)換對(duì)象的變化,來(lái)修改這第一對(duì)象。
54.如權(quán)利要求53中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,這些動(dòng)作包括接受這第二對(duì)象中的變化;以及,將這第二對(duì)象中的變化傳播給這第二被強(qiáng)制轉(zhuǎn)換對(duì)象,作為在檢測(cè)動(dòng)作中所檢測(cè)到的這第二被強(qiáng)制轉(zhuǎn)換對(duì)象中的變化。
55.如權(quán)利要求54中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,這些處理器可執(zhí)行指令包括第一強(qiáng)制轉(zhuǎn)換對(duì)象,它執(zhí)行以下動(dòng)作強(qiáng)制轉(zhuǎn)換第一對(duì)象;以及,修改這第一對(duì)象;第二強(qiáng)制轉(zhuǎn)換對(duì)象,它執(zhí)行以下動(dòng)作強(qiáng)制轉(zhuǎn)換第二對(duì)象;接受變化;以及,傳播這第二對(duì)象中的變化;算法編碼,它執(zhí)行以下動(dòng)作應(yīng)用一個(gè)或多個(gè)算法;檢測(cè)變化;以及,將該變化傳播給這第一被強(qiáng)制轉(zhuǎn)換對(duì)象。
56.一種計(jì)算設(shè)備,其特征在于包括元數(shù)據(jù),它能夠被解釋成將對(duì)象強(qiáng)制轉(zhuǎn)換為被強(qiáng)制轉(zhuǎn)換對(duì)象;第一對(duì)象;第二對(duì)象;使用該元數(shù)據(jù)從這第一對(duì)象中創(chuàng)建的第一被強(qiáng)制轉(zhuǎn)換對(duì)象;使用該元數(shù)據(jù)從這第二對(duì)象中創(chuàng)建的第二被強(qiáng)制轉(zhuǎn)換對(duì)象;以及,算法代碼,它適合經(jīng)由這第一被強(qiáng)制轉(zhuǎn)換對(duì)象和第二被強(qiáng)制轉(zhuǎn)換對(duì)象來(lái)管理這第一對(duì)象和第二對(duì)象。
57.如權(quán)利要求56中所述的計(jì)算設(shè)備,其特征在于其中,這第一對(duì)象和第一被強(qiáng)制轉(zhuǎn)換對(duì)象共同包括提鋼性對(duì)象表示。
58.如權(quán)利要求57中所述的計(jì)算設(shè)備,其特征在于其中,該提鋼性對(duì)象表示包括增強(qiáng)型強(qiáng)制轉(zhuǎn)換對(duì)象。
59.如權(quán)利要求56中所述的計(jì)算設(shè)備,其特征在于其中,該元數(shù)據(jù)包括運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明定義具有特點(diǎn)層次的映射的多態(tài)性。
60.如權(quán)利要求56中所述的計(jì)算設(shè)備,其特征在于其中,該算法代碼包括對(duì)這第一被強(qiáng)制轉(zhuǎn)換對(duì)象和對(duì)這第二被強(qiáng)制轉(zhuǎn)換對(duì)象而實(shí)行的一個(gè)或多個(gè)規(guī)則,以檢測(cè)一個(gè)被強(qiáng)制轉(zhuǎn)換對(duì)象中的變化,并將所檢測(cè)到的變化傳播給另一個(gè)被強(qiáng)制轉(zhuǎn)換對(duì)象。
61.如權(quán)利要求56中所述的計(jì)算設(shè)備,其特征在于其中,這第一對(duì)象包括應(yīng)用程序?qū)ο?,這第二對(duì)象包括觀看對(duì)象,該算法代碼包括一個(gè)或多個(gè)規(guī)則,這些規(guī)則至少部分地維持該應(yīng)用程序?qū)ο笈c該觀看對(duì)象之間的一致性。
62.一種關(guān)于運(yùn)行時(shí)間多態(tài)性的布置,該布置的特征在于包括檢索裝置,用于從運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明中檢索至少一項(xiàng)映射說(shuō)明,這至少一項(xiàng)映射說(shuō)明為被強(qiáng)制轉(zhuǎn)換對(duì)象的創(chuàng)建定義特點(diǎn)層次的映射;以及,實(shí)行裝置,用于根據(jù)這至少一項(xiàng)映射說(shuō)明來(lái)實(shí)行特點(diǎn)強(qiáng)制轉(zhuǎn)換操作。
63.如權(quán)利要求62中所述的布置,其特征在于其中,該實(shí)行裝置包括宣稱(chēng)裝置,用于根據(jù)這至少一項(xiàng)映射說(shuō)明來(lái)將被強(qiáng)制轉(zhuǎn)換特點(diǎn)映射到該被強(qiáng)制轉(zhuǎn)換對(duì)象。
64.如權(quán)利要求62中所述的布置,其特征在于其中,該實(shí)行裝置包括過(guò)濾裝置,用于根據(jù)這至少一項(xiàng)映射說(shuō)明來(lái)過(guò)濾對(duì)象的至少一個(gè)特點(diǎn)。
65.如權(quán)利要求62中所述的布置,其特征在于其中,該實(shí)施裝置包括特點(diǎn)強(qiáng)制轉(zhuǎn)換裝置,用于根據(jù)這至少一項(xiàng)映射說(shuō)明,為該被強(qiáng)制轉(zhuǎn)換對(duì)象而將對(duì)象的一個(gè)或多個(gè)預(yù)定特點(diǎn)映射到至少一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
66.如權(quán)利要求62中所述的布置,其特征在于其中,該布置包括計(jì)算設(shè)備。
67.如權(quán)利要求62中所述的布置,其特征在于其中,該布置包括一個(gè)或多個(gè)處理器可存取媒體。
68.一種關(guān)于運(yùn)行時(shí)間多態(tài)性的布置,該布置的特征在于包括宣稱(chēng)裝置,用于根據(jù)至少一項(xiàng)第一映射說(shuō)明來(lái)將被強(qiáng)制轉(zhuǎn)換特點(diǎn)映射到被強(qiáng)制轉(zhuǎn)換對(duì)象;以及,特點(diǎn)強(qiáng)制轉(zhuǎn)換裝置,用于根據(jù)至少一項(xiàng)第二映射說(shuō)明來(lái)將對(duì)象的至少一個(gè)預(yù)定特點(diǎn)映射到該被強(qiáng)制轉(zhuǎn)換對(duì)象。
69.如權(quán)利要求68中所述的布置,其特征在于其中,該布置進(jìn)一步包括過(guò)濾裝置,用于過(guò)濾對(duì)象的至少一個(gè)特點(diǎn)。
70.如權(quán)利要求69中所述的布置,其特征在于其中,該過(guò)濾裝置包括以下的至少一種裝置屬性過(guò)濾裝置,用于根據(jù)至少一項(xiàng)第三映射說(shuō)明來(lái)過(guò)濾該對(duì)象的至少一個(gè)屬性;以及,方法過(guò)濾裝置,用于根據(jù)這至少一項(xiàng)第三映射說(shuō)明來(lái)過(guò)濾該對(duì)象的至少一種方法。
71.如權(quán)利要求68中所述的布置,其特征在于其中,該宣稱(chēng)裝置包括以下的至少一種裝置屬性宣稱(chēng)裝置,用于根據(jù)這至少一項(xiàng)第一映射說(shuō)明來(lái)為該被強(qiáng)制轉(zhuǎn)換對(duì)象宣稱(chēng)一被強(qiáng)制轉(zhuǎn)換屬性;以及,方法宣稱(chēng)裝置,用于根據(jù)這至少一項(xiàng)第一映射說(shuō)明來(lái)為該被強(qiáng)制轉(zhuǎn)換對(duì)象宣稱(chēng)一被強(qiáng)制轉(zhuǎn)換方法。
72.如權(quán)利要求68中所述的布置,其特征在于其中,該特點(diǎn)強(qiáng)制轉(zhuǎn)換裝置包括以下的至少一種裝置反映裝置,用于根據(jù)這至少一項(xiàng)第二映射說(shuō)明來(lái)將該對(duì)象的至少一個(gè)預(yù)定屬性反映到該被強(qiáng)制轉(zhuǎn)換對(duì)象中;反映裝置,用于根據(jù)這至少一項(xiàng)第二映射說(shuō)明來(lái)將該對(duì)象的至少一種預(yù)定方法反映到該被強(qiáng)制轉(zhuǎn)換對(duì)象中;變換裝置,用于根據(jù)這至少一項(xiàng)第二映射說(shuō)明來(lái)為該被強(qiáng)制轉(zhuǎn)換對(duì)象變換該對(duì)象的至少一個(gè)預(yù)定屬性;重新命名裝置,用于根據(jù)這至少一項(xiàng)第二映射說(shuō)明來(lái)為該被強(qiáng)制轉(zhuǎn)換對(duì)象重新命名該對(duì)象的至少一個(gè)預(yù)定屬性;以及,函數(shù)裝置,用于根據(jù)這至少一項(xiàng)第二映射說(shuō)明中所定義的函數(shù)來(lái)將該對(duì)象的至少一個(gè)預(yù)定屬性映射到該被強(qiáng)制轉(zhuǎn)換對(duì)象中。
73.如權(quán)利要求68中所述的布置,其特征在于其中,該布置包括計(jì)算設(shè)備。
74.如權(quán)利要求68中所述的布置,其特征在于其中,該布置包括運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明裝置,該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明裝置用于定義在特點(diǎn)層次上一對(duì)象到被強(qiáng)制轉(zhuǎn)換對(duì)象的強(qiáng)制轉(zhuǎn)換操作。
75.如權(quán)利要求68中所述的布置,其特征在于其中,該布置包括一個(gè)或多個(gè)處理器可存取媒體。
76.一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示計(jì)算設(shè)備執(zhí)行動(dòng)作,這些動(dòng)作包括將第一對(duì)象的第一個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換為被強(qiáng)制轉(zhuǎn)換對(duì)象的第一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn);以及,將第二對(duì)象的第二個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換為該被強(qiáng)制轉(zhuǎn)換對(duì)象的第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
77.如權(quán)利要求76中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,該動(dòng)作是強(qiáng)制轉(zhuǎn)換第一個(gè)特點(diǎn)包括使用運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,將這第一對(duì)象的第一個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換為該被強(qiáng)制轉(zhuǎn)換對(duì)象的第一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn);以及,強(qiáng)制轉(zhuǎn)換第二個(gè)特點(diǎn)包括使用該運(yùn)行時(shí)間強(qiáng)制轉(zhuǎn)換說(shuō)明,將這第二對(duì)象的第二個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換為該被強(qiáng)制轉(zhuǎn)換對(duì)象的第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
78.如權(quán)利要求76中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,該動(dòng)作是強(qiáng)制轉(zhuǎn)換第一個(gè)特點(diǎn)包括使用第一項(xiàng)映射說(shuō)明,將這第一對(duì)象的第一個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換為該被強(qiáng)制轉(zhuǎn)換對(duì)象的第一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn);以及,強(qiáng)制轉(zhuǎn)換第二個(gè)特點(diǎn)包括使用第二項(xiàng)映射說(shuō)明,將這第二對(duì)象的第二個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換為該被強(qiáng)制轉(zhuǎn)換對(duì)象的第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
79.如權(quán)利要求76中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,這些動(dòng)作包括維持在這第一對(duì)象的第一個(gè)特點(diǎn)與該被強(qiáng)制轉(zhuǎn)換對(duì)象的第一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)之間的至少一個(gè)第一運(yùn)行時(shí)間綁定;以及,維持在這第二對(duì)象的第二個(gè)特點(diǎn)與該被強(qiáng)制轉(zhuǎn)換對(duì)象的第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)之間的至少一個(gè)第二運(yùn)行時(shí)間綁定。
80.如權(quán)利要求76中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,該動(dòng)作包括將這第二對(duì)象的第三個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換為該被強(qiáng)制轉(zhuǎn)換對(duì)象的第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
81.如權(quán)利要求76中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于包括這些處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令指示該計(jì)算設(shè)備執(zhí)行進(jìn)一步的動(dòng)作,該動(dòng)作包括將第三對(duì)象的第三個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換為該被強(qiáng)制轉(zhuǎn)換對(duì)象的第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
82.如權(quán)利要求81中所述的這一個(gè)或多個(gè)處理器可存取媒體,其特征在于其中,該動(dòng)作是強(qiáng)制轉(zhuǎn)換第二個(gè)特點(diǎn)包括使用函數(shù)映射說(shuō)明,將這第二對(duì)象的第二個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換為該被強(qiáng)制轉(zhuǎn)換對(duì)象的第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn);以及,強(qiáng)制轉(zhuǎn)換第三個(gè)特點(diǎn)包括使用該函數(shù)映射說(shuō)明,將這第三對(duì)象的第三個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換為該被強(qiáng)制轉(zhuǎn)換對(duì)象的第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
83.一種計(jì)算設(shè)備,其特征在于包括一個(gè)或多個(gè)處理器;以及,與這一個(gè)或多個(gè)處理器進(jìn)行有效通信的一個(gè)或多個(gè)媒體,這一個(gè)或多個(gè)媒體包括具有第一個(gè)特點(diǎn)的第一對(duì)象;具有第二個(gè)特點(diǎn)的第二對(duì)象;定義第一個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換操作的第一項(xiàng)映射說(shuō)明,用于從這第一對(duì)象的第一個(gè)特點(diǎn)中為被強(qiáng)制轉(zhuǎn)換對(duì)象創(chuàng)建第一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn);以及,定義第二個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換操作的第二項(xiàng)映射說(shuō)明,用于從這第二對(duì)象的第二個(gè)特點(diǎn)中為該被強(qiáng)制轉(zhuǎn)換對(duì)象創(chuàng)建第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
84.如權(quán)利要求83中所述的計(jì)算設(shè)備,其特征在于其中,該計(jì)算設(shè)備適合為(i)這第一對(duì)象的第一個(gè)特點(diǎn)與該被強(qiáng)制轉(zhuǎn)換對(duì)象的第一個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)之間的第一個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換操作,以及為(ii)這第二對(duì)象的第二個(gè)特點(diǎn)與該被強(qiáng)制轉(zhuǎn)換對(duì)象的第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)之間的第二個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換操作維持運(yùn)行時(shí)間綁定。
85.如權(quán)利要求83中所述的計(jì)算設(shè)備,其特征在于其中,這一個(gè)或多個(gè)媒體進(jìn)一步包括具有第三個(gè)特點(diǎn)的第三對(duì)象;其中,定義這第二個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換操作的這第二項(xiàng)映射說(shuō)明進(jìn)一步用于從這第三對(duì)象的第三個(gè)特點(diǎn)中為該被強(qiáng)制轉(zhuǎn)換對(duì)象創(chuàng)建這第二個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn)。
86.如權(quán)利要求83中所述的計(jì)算設(shè)備,其特征在于其中,這一個(gè)或多個(gè)媒體進(jìn)一步包括具有第三個(gè)特點(diǎn)的第三對(duì)象;定義第三個(gè)特點(diǎn)強(qiáng)制轉(zhuǎn)換操作的第三項(xiàng)映射說(shuō)明,用于從這第三對(duì)象的第三個(gè)特點(diǎn)中為該被強(qiáng)制轉(zhuǎn)換對(duì)象創(chuàng)建第三個(gè)被強(qiáng)制轉(zhuǎn)換特點(diǎn);以及,該被強(qiáng)制轉(zhuǎn)換對(duì)象。
全文摘要
可以利用元數(shù)據(jù)來(lái)允許運(yùn)行時(shí)間多態(tài)性,該元數(shù)據(jù)可用于將對(duì)象強(qiáng)制轉(zhuǎn)換成被強(qiáng)制轉(zhuǎn)換對(duì)象。在示范的媒體實(shí)現(xiàn)中,處理器可執(zhí)行指令所引起的操作包括在運(yùn)行時(shí)間環(huán)境中時(shí),至少發(fā)現(xiàn)對(duì)象的一種類(lèi)型;以及,通過(guò)使用元數(shù)據(jù)將該對(duì)象強(qiáng)制轉(zhuǎn)換為該被轉(zhuǎn)換對(duì)象,從該對(duì)象中創(chuàng)建被強(qiáng)制轉(zhuǎn)換對(duì)象。示范的計(jì)算設(shè)備實(shí)現(xiàn)包括一個(gè)或多個(gè)處理器;以及與其進(jìn)行有效通信的一個(gè)或多個(gè)媒體,這一個(gè)或多個(gè)媒體包括第一種類(lèi)型的對(duì)象;元數(shù)據(jù),它能夠被用來(lái)強(qiáng)制轉(zhuǎn)換運(yùn)行時(shí)間環(huán)境中的未知對(duì)象;以及處理器可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),這些處理器可執(zhí)行指令使這一個(gè)或多個(gè)處理器執(zhí)行動(dòng)作,該動(dòng)作包括使用該運(yùn)行時(shí)間環(huán)境中的該元數(shù)據(jù),將這第一種類(lèi)型的對(duì)象強(qiáng)制轉(zhuǎn)換為第二種類(lèi)型的被強(qiáng)制轉(zhuǎn)換對(duì)象,這第一種類(lèi)型不同于這第二種類(lèi)型。
文檔編號(hào)G06F9/44GK1570862SQ20041004340
公開(kāi)日2005年1月26日 申請(qǐng)日期2004年4月26日 優(yōu)先權(quán)日2003年4月25日
發(fā)明者J·A·米塞克, J·M·羅萊特, J·P·斯諾弗爾, D·T·小特萊維森 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
思南县| 荣昌县| 乌拉特后旗| 铅山县| 宝应县| 泌阳县| 仁怀市| 大理市| 涞源县| 连平县| 曲靖市| 灌南县| 桂林市| 高青县| 莆田市| 怀柔区| 正阳县| 江山市| 富宁县| 镇坪县| 高淳县| 临夏县| 文昌市| 安多县| 济阳县| 陇西县| 疏勒县| 瓦房店市| 屏东县| 德阳市| 武威市| 宁阳县| 沐川县| 瑞安市| 湖南省| 益阳市| 开平市| 邹平县| 涞水县| 莱芜市| 衡水市|