小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

c#難理解概念之一-----委托

 mefly 2007-12-24

c#難理解概念之一-----委托

不管是對于初學者,或者是對使用過C#一段時間的人,都很難說清楚什么是C#. 我們先來看一下MSDN上對委托的定義:委托是一種引用方法的類型。一旦為委托分配了方法,委托將與該方法具有完全相同的行為。“委托是一種引用方法的類型”這句話想必大家看完后和我一樣一頭霧水,不知道在說什么。其問題的根源在于在定義中,引入了兩個模糊的概念“引用方法”和“類型”。估計沒人能說清楚什么是“引用方法”什么是“類型”。用兩個模糊的概念來解釋什么是“委托”當然也就解釋不清楚。那好MSDN既然解釋不了,那我們可以到網(wǎng)絡上去找找(我想這是大多程序員的第一反映),但最后都會發(fā)現(xiàn),網(wǎng)絡上對“委托”解釋大都會列長長一段代碼,然后告訴你這就是委托。估計大家看完后把代碼都忘了,最后還是不明白什么是“委托”.這些文章往往沒有解釋或解釋不清楚上面是“委托”,而只是告訴你什么東西是委托,只告訴你事物表面的東西,而不告訴你“委托”的本質(zhì)是什么。到最后讀者對“委托”還是搞不清楚。

為什么大家對“委托”感覺到很難理解,我想主要有兩點原因第1.一些教材和資料對委托的概念沒有解釋清楚。第2是讀者一般都有個先入為主的觀念:c#是一種面向?qū)ο蟮恼Z言,c#一切皆對象。因此潛意識的想用面向?qū)ο髞斫忉?#8220;委托”。但發(fā)現(xiàn)不論怎么解釋都解釋不了,也就越來越糊涂了,到最后不了了之。既然這樣我們何不拋開面向?qū)ο螅徊讲降膩砜纯词裁词俏?。首先對于委托我就看到的最多的一個概念是什么?沒錯是“方法” 。方法:是一個帶名稱的、獨立的、以可重用的方式放置的代碼片段。方法無需應用程序其他部分的干預便能運行,如果創(chuàng)建的正確,則能夠執(zhí)行其名稱指示的特定任務??梢钥闯?“方法”是“委托”中的一個比較重要的概念。那接下來我們思考“方法”和委托“之間”是什么關系?現(xiàn)在讓我們看個使用委托的例子:public delegate int delegateMethod(int x, int y); 在這里的delegateMethod是什么?delegateMethod:是一系列方法的代表。為了更好理解這個問題,我們來看看我們非常屬性的“類” :public class myClass{}這里的myClass是什么我想大家都很清楚:類,是從一組有共同特性的對象抽象出來的概念,它描述了對象的本質(zhì)特征。我們可以用同樣的方法來思考delegateMethod,delegateMethod是什么呢:delegateMethod 是從一組有共同特性的方法抽象出來的概念,它描述了方法的本質(zhì)特征。現(xiàn)在我們就比較清楚了,類是一組對象的抽象,那委托不就是一組方法的抽象。

這樣就總結出一句話:委托是方法的抽象,它代表了一組方法的共同特征

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多