




已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)設(shè)計(jì)(論文)外文文獻(xiàn)原文及譯文學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院專業(yè)網(wǎng)絡(luò)工程原文DELEGATEDELEGATESENABLESCENARIOSTHATOTHERLANGUAGESSUCHASC,PASCAL,ANDMODULAHAVEADDRESSEDWITHFUNCTIONPOINTERSUNLIKECFUNCTIONPOINTERS,HOWEVER,DELEGATESAREFULLYOBJECTORIENTED,ANDUNLIKECPOINTERSTOMEMBERFUNCTIONS,DELEGATESENCAPSULATEBOTHANOBJECTINSTANCEANDAMETHODADELEGATEDECLARATIONDEFINESACLASSTHATISDERIVEDFROMTHECLASSSYSTEMDELEGATEADELEGATEINSTANCEENCAPSULATESANINVOCATIONLIST,WHICHISALISTOFONEORMOREMETHODS,EACHOFWHICHISREFERREDTOASACALLABLEENTITYFORINSTANCEMETHODS,ACALLABLEENTITYCONSISTSOFANINSTANCEANDAMETHODONTHATINSTANCEFORSTATICMETHODS,ACALLABLEENTITYCONSISTSOFJUSTAMETHODINVOKINGADELEGATEINSTANCEWITHANAPPROPRIATESETOFARGUMENTSCAUSESEACHOFTHEDELEGATESCALLABLEENTITIESTOBEINVOKEDWITHTHEGIVENSETOFARGUMENTSANINTERESTINGANDUSEFULPROPERTYOFADELEGATEINSTANCEISTHATITDOESNOTKNOWORCAREABOUTTHECLASSESOFTHEMETHODSITENCAPSULATESALLTHATMATTERSISTHATTHOSEMETHODSBECOMPATIBLEWITHTHEDELEGATESTYPETHISMAKESDELEGATESPERFECTLYSUITEDFOR“ANONYMOUS”INVOCATION11DELEGATEDECLARATIONSADELEGATEDECLARATIONISATYPEDECLARATIONTHATDECLARESANEWDELEGATETYPEDELEGATEDECLARATIONATTRIBUTESOPTDELEGATEMODIFIERSOPTDELEGATERETURNTYPEIDENTIFIERVARIANTTYPEPARAMETERLISTOPTFORMALPARAMETERLISTOPTTYPEPARAMETERCONSTRAINTSCLAUSESOPTDELEGATEMODIFIERSDELEGATEMODIFIERDELEGATEMODIFIERSDELEGATEMODIFIERDELEGATEMODIFIERNEWPUBLICPROTECTEDINTERNALPRIVATEITISACOMPILETIMEERRORFORTHESAMEMODIFIERTOAPPEARMULTIPLETIMESINADELEGATEDECLARATIONTHENEWMODIFIERISONLYPERMITTEDONDELEGATESDECLAREDWITHINANOTHERTYPE,INWHICHCASEITSPECIFIESTHATSUCHADELEGATEHIDESANINHERITEDMEMBERBYTHESAMENAMETHEPUBLIC,PROTECTED,INTERNAL,ANDPRIVATEMODIFIERSCONTROLTHEACCESSIBILITYOFTHEDELEGATETYPEDEPENDINGONTHECONTEXTINWHICHTHEDELEGATEDECLARATIONOCCURS,SOMEOFTHESEMODIFIERSMAYNOTBEPERMITTEDTHEDELEGATESTYPENAMEISIDENTIFIERTHEOPTIONALFORMALPARAMETERLISTSPECIFIESTHEPARAMETERSOFTHEDELEGATE,ANDRETURNTYPEINDICATESTHERETURNTYPEOFTHEDELEGATETHEOPTIONALVARIANTTYPEPARAMETERLISTSPECIFIESTHETYPEPARAMETERSTOTHEDELEGATEITSELFTHERETURNTYPEOFADELEGATETYPEMUSTBEEITHERVOID,OROUTPUTSAFEALLTHEFORMALPARAMETERTYPESOFADELEGATETYPEMUSTBEINPUTSAFEADDITIONALLY,ANYOUTORREFPARAMETERTYPESMUSTALSOBEOUTPUTSAFENOTETHATEVENOUTPARAMETERSAREREQUIREDTOBEINPUTSAFE,DUETOALIMITIATIONOFTHEUNDERLYINGEXECUTIONPLATFORMDELEGATETYPESINCARENAMEEQUIVALENT,NOTSTRUCTURALLYEQUIVALENTSPECIFICALLY,TWODIFFERENTDELEGATETYPESTHATHAVETHESAMEPARAMETERLISTSANDRETURNTYPEARECONSIDEREDDIFFERENTDELEGATETYPESHOWEVER,INSTANCESOFTWODISTINCTBUTSTRUCTURALLYEQUIVALENTDELEGATETYPESMAYCOMPAREASEQUALFOREXAMPLEDELEGATEINTD1INTI,DOUBLEDCLASSAPUBLICSTATICINTM1INTA,DOUBLEBCLASSBDELEGATEINTD2INTC,DOUBLEDPUBLICSTATICINTM1INTF,DOUBLEGPUBLICSTATICVOIDM2INTK,DOUBLELPUBLICSTATICINTM3INTGPUBLICSTATICVOIDM4INTGTHEDELEGATETYPESD1ANDD2AREBOTHCOMPATIBLEWITHTHEMETHODSAM1ANDBM1,SINCETHEYHAVETHESAMERETURNTYPEANDPARAMETERLISTHOWEVER,THESEDELEGATETYPESARETWODIFFERENTTYPES,SOTHEYARENOTINTERCHANGEABLETHEDELEGATETYPESD1ANDD2AREINCOMPATIBLEWITHTHEMETHODSBM2,BM3,ANDBM4,SINCETHEYHAVEDIFFERENTRETURNTYPESORPARAMETERLISTSLIKEOTHERGENERICTYPEDECLARATIONS,TYPEARGUMENTSMUSTBEGIVENTOCREATEACONSTRUCTEDDELEGATETYPETHEPARAMETERTYPESANDRETURNTYPEOFACONSTRUCTEDDELEGATETYPEARECREATEDBYSUBSTITUTING,FOREACHTYPEPARAMETERINTHEDELEGATEDECLARATION,THECORRESPONDINGTYPEARGUMENTOFTHECONSTRUCTEDDELEGATETYPETHERESULTINGRETURNTYPEANDPARAMETERTYPESAREUSEDINDETERMININGWHATMETHODSARECOMPATIBLEWITHACONSTRUCTEDDELEGATETYPEFOREXAMPLEDELEGATEBOOLPREDICATETVALUECLASSXSTATICBOOLFINTISTATICBOOLGSTRINGSTHEDELEGATETYPEPREDICATEISCOMPATIBLEWITHTHEMETHODXFANDTHEDELEGATETYPEPREDICATEISCOMPATIBLEWITHTHEMETHODXGTHEONLYWAYTODECLAREADELEGATETYPEISVIAADELEGATEDECLARATIONADELEGATETYPEISACLASSTYPETHATISDERIVEDFROMSYSTEMDELEGATEDELEGATETYPESAREIMPLICITLYSEALED,SOITISNOTPERMISSIBLETODERIVEANYTYPEFROMADELEGATETYPEITISALSONOTPERMISSIBLETODERIVEANONDELEGATECLASSTYPEFROMSYSTEMDELEGATENOTETHATSYSTEMDELEGATEISNOTITSELFADELEGATETYPEITISACLASSTYPEFROMWHICHALLDELEGATETYPESAREDERIVEDCPROVIDESSPECIALSYNTAXFORDELEGATEINSTANTIATIONANDINVOCATIONEXCEPTFORINSTANTIATION,ANYOPERATIONTHATCANBEAPPLIEDTOACLASSORCLASSINSTANCECANALSOBEAPPLIEDTOADELEGATECLASSORINSTANCE,RESPECTIVELYINPARTICULAR,ITISPOSSIBLETOACCESSMEMBERSOFTHESYSTEMDELEGATETYPEVIATHEUSUALMEMBERACCESSSYNTAXTHESETOFMETHODSENCAPSULATEDBYADELEGATEINSTANCEISCALLEDANINVOCATIONLISTWHENADELEGATEINSTANCEISCREATEDFROMASINGLEMETHOD,ITENCAPSULATESTHATMETHOD,ANDITSINVOCATIONLISTCONTAINSONLYONEENTRYHOWEVER,WHENTWONONNULLDELEGATEINSTANCESARECOMBINED,THEIRINVOCATIONLISTSARECONCATENATEDINTHEORDERLEFTOPERANDTHENRIGHTOPERANDTOFORMANEWINVOCATIONLIST,WHICHCONTAINSTWOORMOREENTRIESDELEGATESARECOMBINEDUSINGTHEBINARYANDOPERATORSADELEGATECANBEREMOVEDFROMACOMBINATIONOFDELEGATES,USINGTHEBINARYANDOPERATORSDELEGATESCANBECOMPAREDFOREQUALITYTHEFOLLOWINGEXAMPLESHOWSTHEINSTANTIATIONOFANUMBEROFDELEGATES,ANDTHEIRCORRESPONDINGINVOCATIONLISTSDELEGATEVOIDDINTXCLASSCPUBLICSTATICVOIDM1INTIPUBLICSTATICVOIDM2INTICLASSTESTSTATICVOIDMAINDCD1NEWDCM1/M1DCD2NEWDCM2/M2DCD3CD1CD2/M1M2DCD4CD3CD1/M1M2M1DCD5CD4CD3/M1M2M1M1M2WHENCD1ANDCD2AREINSTANTIATED,THEYEACHENCAPSULATEONEMETHODWHENCD3ISINSTANTIATED,ITHASANINVOCATIONLISTOFTWOMETHODS,M1ANDM2,INTHATORDERCD4SINVOCATIONLISTCONTAINSM1,M2,ANDM1,INTHATORDERFINALLY,CD5SINVOCATIONLISTCONTAINSM1,M2,M1,M1,ANDM2,INTHATORDERFORMOREEXAMPLESOFCOMBININGASWELLASREMOVINGDELEGATES12DELEGATECOMPATIBILITYAMETHODORDELEGATEMISCOMPATIBLEWITHADELEGATETYPEDIFALLOFTHEFOLLOWINGARETRUEDANDMHAVETHESAMENUMBEROFPARAMETERS,ANDEACHPARAMETERINDHASTHESAMEREFOROUTMODIFIERSASTHECORRESPONDINGPARAMETERINMFOREACHVALUEPARAMETERAPARAMETERWITHNOREFOROUTMODIFIER,ANIDENTITYCONVERSIONORIMPLICITREFERENCECONVERSIONEXISTSFROMTHEPARAMETERTYPEINDTOTHECORRESPONDINGPARAMETERTYPEINMFOREACHREFOROUTPARAMETER,THEPARAMETERTYPEINDISTHESAMEASTHEPARAMETERTYPEINMANIDENTITYORIMPLICITREFERENCECONVERSIONEXISTSFROMTHERETURNTYPEOFMTOTHERETURNTYPEOFD13DELEGATEINSTANTIATIONANINSTANCEOFADELEGATEISCREATEDBYADELEGATECREATIONEXPRESSIONORACONVERSIONTOADELEGATETYPETHENEWLYCREATEDDELEGATEINSTANCETHENREFERSTOEITHERTHESTATICMETHODREFERENCEDINTHEDELEGATECREATIONEXPRESSION,ORTHETARGETOBJECTWHICHCANNOTBENULLANDINSTANCEMETHODREFERENCEDINTHEDELEGATECREATIONEXPRESSION,ORANOTHERDELEGATEFOREXAMPLEDELEGATEVOIDDINTXCLASSCPUBLICSTATICVOIDM1INTIPUBLICVOIDM2INTICLASSTESTSTATICVOIDMAINDCD1NEWDCM1/STATICMETHODCTNEWCDCD2NEWDTM2/INSTANCEMETHODDCD3NEWDCD2/ANOTHERDELEGATEONCEINSTANTIATED,DELEGATEINSTANCESALWAYSREFERTOTHESAMETARGETOBJECTANDMETHODREMEMBER,WHENTWODELEGATESARECOMBINED,ORONEISREMOVEDFROMANOTHER,ANEWDELEGATERESULTSWITHITSOWNINVOCATIONLISTTHEINVOCATIONLISTSOFTHEDELEGATESCOMBINEDORREMOVEDREMAINUNCHANGED14DELEGATEINVOCATIONCPROVIDESSPECIALSYNTAXFORINVOKINGADELEGATEWHENANONNULLDELEGATEINSTANCEWHOSEINVOCATIONLISTCONTAINSONEENTRYISINVOKED,ITINVOKESTHEONEMETHODWITHTHESAMEARGUMENTSITWASGIVEN,ANDRETURNSTHESAMEVALUEASTHEREFERREDTOMETHODIFANEXCEPTIONOCCURSDURINGTHEINVOCATIONOFSUCHADELEGATE,ANDTHATEXCEPTIONISNOTCAUGHTWITHINTHEMETHODTHATWASINVOKED,THESEARCHFORANEXCEPTIONCATCHCLAUSECONTINUESINTHEMETHODTHATCALLEDTHEDELEGATE,ASIFTHATMETHODHADDIRECTLYCALLEDTHEMETHODTOWHICHTHATDELEGATEREFERREDINVOCATIONOFADELEGATEINSTANCEWHOSEINVOCATIONLISTCONTAINSMULTIPLEENTRIESPROCEEDSBYINVOKINGEACHOFTHEMETHODSINTHEINVOCATIONLIST,SYNCHRONOUSLY,INORDEREACHMETHODSOCALLEDISPASSEDTHESAMESETOFARGUMENTSASWASGIVENTOTHEDELEGATEINSTANCEIFSUCHADELEGATEINVOCATIONINCLUDESREFERENCEPARAMETERS,EACHMETHODINVOCATIONWILLOCCURWITHAREFERENCETOTHESAMEVARIABLECHANGESTOTHATVARIABLEBYONEMETHODINTHEINVOCATIONLISTWILLBEVISIBLETOMETHODSFURTHERDOWNTHEINVOCATIONLISTIFTHEDELEGATEINVOCATIONINCLUDESOUTPUTPARAMETERSORARETURNVALUE,THEIRFINALVALUEWILLCOMEFROMTHEINVOCATIONOFTHELASTDELEGATEINTHELISTIFANEXCEPTIONOCCURSDURINGPROCESSINGOFTHEINVOCATIONOFSUCHADELEGATE,ANDTHATEXCEPTIONISNOTCAUGHTWITHINTHEMETHODTHATWASINVOKED,THESEARCHFORANEXCEPTIONCATCHCLAUSECONTINUESINTHEMETHODTHATCALLEDTHEDELEGATE,ANDANYMETHODSFURTHERDOWNTHEINVOCATIONLISTARENOTINVOKEDATTEMPTINGTOINVOKEADELEGATEINSTANCEWHOSEVALUEISNULLRESULTSINANEXCEPTIONOFTYPESYSTEMNULLREFERENCEEXCEPTIONTHEFOLLOWINGEXAMPLESHOWSHOWTOINSTANTIATE,COMBINE,REMOVE,ANDINVOKEDELEGATESUSINGSYSTEMDELEGATEVOIDDINTXCLASSCPUBLICSTATICVOIDM1INTICONSOLEWRITELINE“CM1“IPUBLICSTATICVOIDM2INTICONSOLEWRITELINE“CM2“IPUBLICVOIDM3INTICONSOLEWRITELINE“CM3“ICLASSTESTSTATICVOIDMAINDCD1NEWDCM1CD11/CALLM1DCD2NEWDCM2CD22/CALLM2DCD3CD1CD2CD310/CALLM1THENM2CD3CD1CD320/CALLM1,M2,THENM1CCNEWCDCD4NEWDCM3CD3CD4CD330/CALLM1,M2,M1,THENM3CD3CD1/REMOVELASTM1CD340/CALLM1,M2,THENM3CD3CD4CD350/CALLM1THENM2CD3CD2CD360/CALLM1CD3CD2/IMPOSSIBLEREMOVALISBENIGNCD360/CALLM1CD3CD1/INVOCATIONLISTISEMPTYSOCD3ISNULL/CD370/SYSTEMNULLREFERENCEEXCEPTIONTHROWNCD3CD1/IMPOSSIBLEREMOVALISBENIGNASSHOWNINTHESTATEMENTCD3CD1,ADELEGATECANBEPRESENTINANINVOCATIONLISTMULTIPLETIMESINTHISCASE,ITISSIMPLYINVOKEDONCEPEROCCURRENCEINANINVOCATIONLISTSUCHASTHIS,WHENTHATDELEGATEISREMOVED,THELASTOCCURRENCEINTHEINVOCATIONLISTISTHEONEACTUALLYREMOVEDIMMEDIATELYPRIORTOTHEEXECUTIONOFTHEFINALSTATEMENT,CD3CD1,THEDELEGATECD3REFERSTOANEMPTYINVOCATIONLISTATTEMPTINGTOREMOVEADELEGATEFROMANEMPTYLISTORTOREMOVEANONEXISTENTDELEGATEFROMANONEMPTYLISTISNOTANERRORTHEOUTPUTPRODUCEDISCM11CM22CM110CM210CM120CM220CM120CM130CM230CM130CM330CM140CM240CM340CM150CM250CM160CM160譯文委托委托是用來(lái)處理其他語(yǔ)言(如C、PASCAL和MODULA)需用函數(shù)指針來(lái)處理的情況的。不過(guò)與C函數(shù)指針不同,委托是完全面向?qū)ο蟮?;另外,C指針僅指向成員函數(shù),而委托同時(shí)封裝了對(duì)象實(shí)例和方法。委托聲明定義一個(gè)從SYSTEMDELEGATE類派生的類。委托實(shí)例封裝了一個(gè)調(diào)用列表,該列表列出了一個(gè)或多個(gè)方法,每個(gè)方法稱為一個(gè)可調(diào)用實(shí)體。對(duì)于實(shí)例方法,可調(diào)用實(shí)體由該方法和一個(gè)相關(guān)聯(lián)的實(shí)例組成。對(duì)于靜態(tài)方法,可調(diào)用實(shí)體僅由一個(gè)方法組成。用一個(gè)適當(dāng)?shù)膮?shù)集來(lái)調(diào)用一個(gè)委托實(shí)例,就是用此給定的參數(shù)集來(lái)調(diào)用該委托實(shí)例的每個(gè)可調(diào)用實(shí)體。委托實(shí)例的一個(gè)有趣且有用的屬性是它不知道也不關(guān)心它所封裝的方法所屬的類;它所關(guān)心的僅限于這些方法必須與委托的類型兼容。這使委托非常適合于“匿名”調(diào)用。委托聲明DELEGATEDECLARATION是一種TYPEDECLARATION,它聲明一個(gè)新的委托類型。DELEGATEDECLARATIONATTRIBUTESOPTDELEGATEMODIFIERSOPTDELEGATERETURNTYPEIDENTIFIERVARIANTTYPEPARAMETERLISTOPTFORMALPARAMETERLISTOPTTYPEPARAMETERCONSTRAINTSCLAUSESOPTDELEGATEMODIFIERSDELEGATEMODIFIERDELEGATEMODIFIERSDELEGATEMODIFIERDELEGATEMODIFIERNEWPUBLICPROTECTEDINTERNALPRIVATE同一修飾符在一個(gè)委托聲明中多次出現(xiàn)屬于編譯時(shí)錯(cuò)誤。NEW修飾符僅允許在其他類型中聲明的委托上使用,在這種情況下該修飾符表示所聲明的委托會(huì)隱藏具有相同名稱的繼承成員。PUBLIC、PROTECTED、INTERNAL和PRIVATE修飾符控制委托類型的可訪問(wèn)性。根據(jù)委托聲明所在的上下文,可能不允許使用其中某些修飾符。上述的語(yǔ)法產(chǎn)生式中,IDENTIFIER用于指定委托的類型名稱??蛇x的FORMALPARAMETERLIST用于指定委托的參數(shù),而RETURNTYPE則指定委托的返回類型。可選的VARIANTTYPEPARAMETERLIST指定委托本身的類型形參。委托類型的返回類型必須為VOID或輸出安全。委托類型的所有形參類型都必須是輸入安全的。此外,所有OUT或REF形參類型也必須是輸出安全的。請(qǐng)注意,由于基礎(chǔ)執(zhí)行平臺(tái)的限制,甚至OUT形參也必須是輸入安全的。C中的委托類型是名稱等效的,而不是結(jié)構(gòu)等效的。具體地說(shuō),對(duì)于兩個(gè)委托類型,即使它們具有相同的參數(shù)列表和返回類型,仍被認(rèn)為是不同的兩個(gè)委托類型。但是,兩個(gè)不同但結(jié)構(gòu)上等效的委托類型的實(shí)例可能比較為相等。例如DELEGATEINTD1INTI,DOUBLEDCLASSAPUBLICSTATICINTM1INTA,DOUBLEBCLASSBDELEGATEINTD2INTC,DOUBLEDPUBLICSTATICINTM1INTF,DOUBLEGPUBLICSTATICVOIDM2INTK,DOUBLELPUBLICSTATICINTM3INTGPUBLICSTATICVOIDM4INTG委托類型D1和D2都與方法AM1和BM1兼容,這是因?yàn)樗鼈兙哂邢嗤姆祷仡愋秃蛥?shù)列表;但是,這些委托類型是兩個(gè)不同的類型,所以它們是不可互換的。委托類型D1和D2與方法BM2、BM3和BM4不兼容,這是因?yàn)樗鼈兙哂胁煌姆祷仡愋突騾?shù)列表。與其他泛型類型聲明一樣,必須提供類型實(shí)參才能創(chuàng)建構(gòu)造委托類型。構(gòu)造委托類型的形參類型和返回類型是通過(guò)將委托聲明中的每個(gè)類型形參替換為構(gòu)造委托類型的對(duì)應(yīng)類型實(shí)參來(lái)創(chuàng)建的。結(jié)果返回類型和形參類型用于確定哪些方法與構(gòu)造委托類型兼容。例如DELEGATEBOOLPREDICATETVALUECLASSXSTATICBOOLFINTISTATICBOOLGSTRINGS委托類型PREDICATE與方法XF兼容,委托類型PREDICATE與方法XG兼容。聲明一個(gè)委托類型的唯一方法是通過(guò)DELEGATEDECLARATION。委托類型是從SYSTEMDELEGATE派生的類類型。委托類型隱含為SEALED,所以不允許從一個(gè)委托類型派生任何類型。也不允許從SYSTEMDELEGATE派生非委托類類型。請(qǐng)注意SYSTEMDELEGATE本身不是委托類型;它是從中派生所有委托類型的類類型。C提供了專門的語(yǔ)法用于委托類型的實(shí)例化和調(diào)用。除實(shí)例化外,所有可以應(yīng)用于類或類實(shí)例的操作也可以相應(yīng)地應(yīng)用于委托類或委托實(shí)例。具體而言,可以通過(guò)通常的成員訪問(wèn)語(yǔ)法訪問(wèn)SYSTEMDELEGATE類型的成員。委托實(shí)例所封裝的方法集合稱為調(diào)用列表。從某個(gè)方法創(chuàng)建一個(gè)委托實(shí)例時(shí),該委托實(shí)例將封裝此方法,此時(shí),它的調(diào)用列表只包含一個(gè)“入口點(diǎn)”。但是,當(dāng)組合兩個(gè)非空委托實(shí)例時(shí),它們的調(diào)用列表將連接在一起(按照左操作數(shù)在前、右操作數(shù)在后的順序)以組成一個(gè)新的調(diào)用列表,其中包含兩個(gè)或更多個(gè)“入口點(diǎn)”。委托是使用二元和運(yùn)算符進(jìn)行組合的??梢允褂枚瓦\(yùn)算符將一個(gè)委托從委托組合中移除。委托間還可以進(jìn)行比較以確定它們是否相等。下面的示例演示多個(gè)委托的實(shí)例化及其相應(yīng)的調(diào)用列表DELEGATEVOIDDINTXCLASSCPUBLICSTATICVOIDM1INTIPUBLICSTATICVOIDM2INTICLASSTESTSTATICVOIDMAINDCD1NEWDCM1/M1DCD2NEWDCM2/M2DCD3CD1CD2/M1M2DCD4CD3CD1/M1M2M1DCD5CD4CD3/M1M2M1M1M2實(shí)例化CD1和CD2時(shí),它們分別封裝一個(gè)方法。實(shí)例化CD3時(shí),它的調(diào)用列表有兩個(gè)方法M1和M2,而且順序與此相同。CD4的調(diào)用列表中依次包含M1、M2和M1。最后,CD5的調(diào)用列表中依次包含M1、M2、M1、M1和M2。有關(guān)組合以及移除委托的更多示例。11委托兼容性如果以下所有條件都成立,則方法或委托M與委托類型D兼容COMPATIBLED和M具有相同數(shù)量的形參,并且D中的每個(gè)形參都具有與M中對(duì)應(yīng)形參相同的REF或OUT修飾符。對(duì)于每個(gè)值形參(沒(méi)有REF或OUT修飾符的形參),存在從D中形參類型到M中對(duì)應(yīng)形參類型的標(biāo)識(shí)轉(zhuǎn)換或隱式引用轉(zhuǎn)換。對(duì)于每個(gè)REF或OUT參數(shù),D中的參數(shù)類型與M中的參數(shù)類型相同。存在從M的返回類型到D的返回類型的標(biāo)識(shí)或隱式引用轉(zhuǎn)換。12委托實(shí)例化委托的實(shí)例通過(guò)DELEGATECREATIONEXPRESSION或到委托類型的轉(zhuǎn)換進(jìn)行創(chuàng)建。因此,新創(chuàng)建的委托實(shí)例將引用以下各項(xiàng)之一DELEGATECREATIONEXPRESSION中引用的靜態(tài)方法,或者DELEGATECREATIONEXPRESSION中引用的目標(biāo)對(duì)象(此對(duì)象不能為NULL)和實(shí)例方法,或者另一個(gè)委托。例如DELEGATEVOIDDINTXCLASSCPUBLICSTATICVOIDM1INTIPUBLICVOIDM2INTICLASSTESTSTATICVOIDMAINDCD1NEWDCM1/STATICMETHODCTNEWCDCD2NEWDTM2/INSTANCEMETHODDCD3NEWDCD2/ANOTHERDELEGATE委托實(shí)例一旦被實(shí)例化,它將始終引用同一目標(biāo)對(duì)象和方法。記住,當(dāng)組合兩個(gè)委托或者從一個(gè)委托移除另一個(gè)時(shí),將產(chǎn)生一個(gè)新的委托,該委托具有它自己的調(diào)用列表;被組合或移除的委托的調(diào)用列表將保持不變。13委托調(diào)用C為調(diào)用委托提供了專門的語(yǔ)法。當(dāng)調(diào)用非空的、調(diào)用列表僅包含一個(gè)入
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于閱讀策略的檔案袋評(píng)價(jià)在高中英語(yǔ)閱讀教學(xué)中的應(yīng)用研究
- 清代宜陽(yáng)縣聚落地理研究
- 兒科疾病健康教育
- 課堂如何組織管理學(xué)生
- 剪切音樂(lè)教案小班健康
- 領(lǐng)土安全課件教學(xué)
- 預(yù)防氣象災(zāi)害班會(huì)課件
- 森林防火安全培訓(xùn)
- 項(xiàng)目采購(gòu)管理課件教學(xué)
- 汽車配套產(chǎn)業(yè)基地項(xiàng)目安全管理方案
- 腦卒中溶栓護(hù)理課件
- 2025年城建技師考試題庫(kù)及答案
- 2025年中國(guó)LTCC技術(shù)行業(yè)市場(chǎng)現(xiàn)狀、前景分析研究報(bào)告(智研咨詢發(fā)布)
- 租賃住房培訓(xùn)課件下載
- 房管員試題資料
- 2025至2030中國(guó)扭蛋機(jī)行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及商業(yè)模式與投融資戰(zhàn)略報(bào)告
- 2024年蘇州昆山國(guó)創(chuàng)投資集團(tuán)有限公司招聘筆試真題
- 商場(chǎng)吸煙區(qū)管理制度
- 2025年四川省成都市中考地理真題(原卷版)
- 糖尿病足截肢術(shù)后護(hù)理
- 廣東省東莞市2022-2023學(xué)年高二下學(xué)期期末物理試題(含答案)
評(píng)論
0/150
提交評(píng)論