对于委托我个人总感觉类似接口那样,但是又说不出来二者的异同细微之处
对二者的功能和使用环境的区别能否详细辨别一下?
对二者的功能和使用环境的区别能否详细辨别一下?
解决方案 »
- 请问360,遨游那是浏览器是用什么语言开发的啊
- 小型四则运算测试系统
- 请教如何,过滤两特定字符a,b中间的字符串比如叫c
- !!!!在页面中怎么加入播放器!播放器可以写成htm文件直接调用吗?
- 一个入门级问题.60分在线等(VSTO)
- 小弟遇到一个问题,在使用Datagridview控件的时候,由于与数据库连接部分的代码全部封装在一个类中,主页代码无法取得sqldataAdapter对象,不好用不用sqldataAdapter的UPdata()跟新,我要如何实现数据的跟新啊?小弟第一次
- c#.net 线程,委托的问题(急)
- 怎样直接安装Windows服务?不进行安装程序。
- 怎样判断线程是否执行完
- 找不到类型或命名空间名称“container”,请问一下container的作用???
- C#中怎么给结构体的嵌套结构体数组赋值
- 用Socket网络通信的问题
委托和接口都是实现多态的方法,关系非常密切!!!最简单的例子:Array有一个Sort方法,如果要实现自定义排序,有两个重载:委托和接口
委托:
public static void Sort<T> (
T[] array,
Comparison<T> comparison
)接口:
public static void Sort<T> (
T[] array,
IComparer<T> comparer
)两者在功能上是一样的!区别在于:
1.委托只是单一的方法,而接口可以封装多个方法
2.委托只约束方法的签名,而接口约束方法的名称所以从多态的角度来将,委托可以认为是轻量级的接口。居然有人认为没关系....
委托指向一个(或几个参数相同的)方法委托只要指向到方法名就可以了
接口需要新建一个类,然后去实现接口中的方法在Java中实现C#中委托的效果就可以做一个接口,然后新建一个类(或匿名类)去实现接口,从而指向到方法