计算机c#第六章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机c#第六章

C#面向对象程序设计 第6章 C#面向对象编程深入 6.1 接口 6.2 委托 6.3 事件 6.1 接口 6.1.1 定义接口 6.1.2 接口的实现 6.1.1 定义接口 接口(interface)主要用来控制类和结构实现特定的成员集。其中只包含方法、属性、索引或事件的签名,其实现则由继承该接口的类来定义。接口可以从一个或多个基类或接口继承,若有基类,则必须是出现在第一个位置。 6.1.1 定义接口 定义接口的一般形式: [可访问性]interface 接口名称[:父接口] { 接口成员 } 6.1.1 定义接口 接口成员 接口继承列表后面是接口的主体。主体由包围在大括号中的成员组成。合法的成员如下: 方法 属性 索引 事件 6.1.1 定义接口 注意: 所有的接口成员,都不能包含访问修饰符。接口的所有成员都暗自成为abstract,我们不能为它提供缺省实现;接口的成员也都暗自成为public,因为它们要从实现接口成员所在的类的外部访问;我们不能以关键字abstract或 public来修改(修饰)其中某个成员。 6.1.1 定义接口 接口与类 接口的定义很像类或结构,它定义了类必须实现的行为类型的特征,相当于一份使用者和实现者之间的合同。接口可以看做只包含抽象功能成员的纯抽象类。接口最终还是需要由类(或者结构)来实现,也就要求类要实现接口的抽象功能成员,这与派生类保证要实现它的基类的抽象功能成员一样。 6.1.1 定义接口 接口与抽象类的区别: 接口和抽象类在句法和语义上紧密相关,但它们仍有一个重要的区别:接口只能包含抽象函数、抽象属性和抽象索引,而抽象类还可能包含数据成员,以及完全实现的函数、属性和索引。 一个类最多可以具有一个基类,但可以具有无限个接口。 6.1.2 接口的实现 6.2 委托 6.2.1 引例 6.2.2 定义委托 6.2.3 实例化委托 6.2.4 多重委托 6.2.1 引例 Person类 一个人向另外一个人打招呼。 public void GreetPeople(string name) { // 做某些额外的事情,比如初始化之类,此处略 EnglishGreeting(name); } 委托简介 委托(delegate)是一种面向对象的、可靠的、类型安全的函数指针(函数引用),是事件的基础。 委托的实例是对一个函数指针的语义进行抽象的对象,该对象封装了一个函数指针和一个目标对象。当一个委托被调用的时候,委托调用这个对象上的函数。 委托具有一个签名和一个返回类型。分配函数指针给委托时,是基于签名的而不是基于类型的。 委托简介 一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。 与委托的签名(由返回类型和参数组成)匹配的任何方法都可以分配给该委托。这样就可以通过编程方式来更改方法调用。 6.2.2 定义委托 委托定义了方法的返回类型和参数类型,也创建了一种新类型,每个使用委托的方法都必须提供。委托也是一个类,它派生于基类System.Delegate。和其他类一样,必须首先定义委托,然后才能实例化。 下面给出了委托定义的语法: [访问修饰符] delegate [类型] 委托名 ([参数]); 如: public delegate void TestDelegate(string message); 6.2.3 实例化委托 定义了委托之后,必须要实例化委托,还需要委托的方法处理程序,这个方法实现具体的功能,其参数列表必须相同,并且必须返回同样的类型。然后再将这个方法赋给委托对象。通过将委托与命名方法关联,可以实例化委托。 6.2.3 实例化委托 public delegate double Calculation(double val1,double val2); public class Example { Calculation CalcInstance; public double MyMethod(double val1,double val2){…} CalcInstance=new Calculation(MyMethod); } 6.2.4 多重委托 多重委托(multica

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档