第9章方法类型化_委托.pptVIP

  • 3
  • 0
  • 约1.16万字
  • 约 25页
  • 2017-05-05 发布于北京
  • 举报
第9章方法类型化_委托

国防科技大学计算机学院 第9章 方法类型化——委托 9.1 委托 9.2 事件 9.3 小结 9.1 委托 在C、C++和Pascal中,如果把函数的指针(地址)作为参数传递给另一个函数,当该指针被用于调用它所指向的函数时,我们就可以称之为回调函数。 回调函数是一种功能强大的编程特性,窗口过程、异步过程调用等都需要使用回调函数。 但是,函数指针只是一个内存地址,该地址不带任何额外信息,例如函数期望收到的参数个数、参数类型、函数的返回值类型以及函数的调用约定等,所以函数指针是非类型安全的。因此,为了保证程序的安全性,Java不提供任何具有指针函数功能的结构,但是C#提供这种结构,这就是类型安全的委托。 9.1.1 委托概述 在C#中,委托是一种特殊的对象类型(即一种特殊的类),其特殊之处在于之前定义的对象类型都可以包含数据,而委托包含的只是方法的地址。也可以说,委托是对一类方法(参数和返回值类型相似的方法)的类型。 和类在使用前要进行实例化一样,委托在使用前也要进行实例化。但需要注意的是,在术语方面,类有两个不同的术语,“类”表示较广义的定义,“对象”表示类的实例。但委托只有一个术语,在创建委托的实例时,所创建的委托的实例也称为委托。 9.1.1 委托概述 (1)确定将要引用方法的签名,声明一个委托类型。 一般语法形式如下: [访问修饰符] delegate 返

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档