C#委托-概念理解

来源:互联网 发布:网络电影恋爱最近 编辑:程序博客网 时间:2024/04/30 12:10

MSDN上对委托的定义:委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。

C#是一种面向对象的语言,C#一切皆对象。因此潜意识的想用面向对象来解释“委托”。但发现不论怎么解释都解释不了,也就越来越糊涂了,到最后不了了之。

我们何不抛开面向对象,一步步的来看看什么是委托。首先对于委托我就看到的最多的一个概念是什么?没错是“方法”。方法:是一个带名称的、独立的、以可重用的方式放置的代码片段。方法无需应用程序其他部分的干预便能运行,如果创建的正确,则能够执行其名称指示的特定任务。可以看出 “方法”是“委托”中的一个比较重要的概念。

那接下来我们思考“方法”和委托“之间”是什么关系?
现在让我们看个使用委托的例子:public delegate int delegateMethod(int x, int y);
在这里的delegateMethod是什么?delegateMethod:是一系列方法的代表。

为了更好理解这个问题,我们来看看我们非常熟悉的“类” :public class myClass{}这里的myClass是什么我想大家都很清楚:类,是从一组有共同特性的对象抽象出来的概念,它描述了对象的本质特征。

我们可以用同样的方法来思考delegateMethod,delegateMethod是什么呢:delegateMethod 是从一组有共同特性的方法抽象出来的概念,它描述了方法的本质特征。

现在我们就比较清楚了,类是一组对象的抽象,那委托不就是一组方法的抽象。

这样就总结出一句话:委托是方法的抽象,它代表了一组方法的共同特征。

 

原创粉丝点击