话说委托 从面向对象说起

委托是寻址方法的.NET版本。在C++中,函数指针只不过是一个指向内存位置的指针,它不是类型安全的。我们无法判断这个指针实际指向什么,像参数和返回类型等项就更无从知晓了。而.NET委托完全不同,委托是类型安全的类,它定义了返回类型和参数的类型。委托类不仅包含对方法的引用,也可以包含对多个方法的引用。(注 来自C#高级编程)。

在面向对象中,一切皆对象,面向对象的三大特性:封装、继承、多态。也就是说在面向对象中,几乎没有方法能够离开类而单独存在。但有时候我们需要像C++函数指针一样方便动态调用方法,并且屏蔽C++不是类型安全的不足,这时就出现了委托。也就是说委托是基于面向对象特性的限制但允许在运行时动态、安全地在运行时调用方法的诉求中出现的。

一般情况下我们如何调用方法?

通常我们使用类的实例来调用方法或者用类名调用静态方法。但这种调用方法的不足地方就是在调用方法之前通常需要与类实例相关联。

如何在运行时动态调用某个方法?

1、使用观察者模式(具体内容可以请参考大话设计模式)。

2、使用委托

转载于:https://www.cnblogs.com/jintianzhang/archive/2013/03/02/2940113.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值