- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章面向对象编程3
第6章 面向对象编程2_3 本节内容 6.8 Object类 6.9拆箱和装箱 6.10 接口 6.11 事件与 委托 6.8 Object类 Object类:C#中一个特殊的类。所有的类都是直接或间接地继承该类而得到的。 即如果某个类没有使用继承任何类,则该类默认为Object类的子类 6.8 Object类 Object类常用的方法 6.9 装箱和拆箱 装箱是将值类型转换为引用类型 拆箱是将引用类型转换为值类型 利用装箱和拆箱功能,可通过允许值类型的任何值与 Object 类型的值相互转换。 6.9 装箱和拆箱 6.9 装箱和拆箱 值类型和引用类型之间的转换 6.10 接口 接口 什么是接口?接口也是一个特殊的抽象类 接口的特点 接口只有声明、无实现、不能实例化(不能new接口对象); 接口可包含方法、属性、事件、索引器, 但无成员变量; 接口成员都是隐式的 public, 不要使用访问修饰符; 6.10.1 接口的定义 如何定义接口? 使用关键字interface来创建一个接口,格式: interface 接口名 { 接口体 } 6.10.2 接口的使用 接口是抽象类,不能new接口对象,必须利用接口的特性来建造一个新的类,然后在用该类来创建对象。 利用接口创建新类的过程称为接口的实现。 声明一个类的同时实现一个接口,格式: 6.10.2 接口的使用 6.10.3 接口的引用变量 可以用接口名作为数据类型声明变量,该变量用于保存实现了该接口的类的对象的引用。这样的变量称为接口引用变量。 通过接口引用变量只能调用该类实现接口中声明的方法。 6.10.3 接口的引用变量 6.10.4 接口的继承 接口与接口之间可以是多继承 定义一个接口继承另一个接口的方法 在接口的声明中使用“:”号创建,格式: 6.10.4 接口的继承 6.10.5 利用接口实现类的多重继承 C#语言虽不支持多继承,但可以利用接口间接地解决多重继承问题。 一个类只能有一个直接父类,但是它可以同时实现多个接口。 在“:”号后用逗号分隔各个接口名。 6.10.5 利用接口实现类的多重继承 6.11 委托 委托是C#中的一种引用类型,委托的作用与函数指针一样,用它来指向一个方法,并且提供给客户程序调用 。 什么叫委托? 所谓委托,是指可以调用目标方法并且确定了目标方法签名的一种特殊的对象. 6.11 委托 具体到C#语法中,委托又可以分为委托声明和委托实例两种,而它们又同时都可以简称为委托 。 委托声明 用来声明委托所指向的方法的签名。它以delegate关键字开头,后面跟的便是方法签名。 例如,当我想要指向的方法为: public int add(int x,int y){return x+y;} 我们就可以声明一个有两个int参数并且返回一个int值的委托: public delegate int myDelegate(int x,int y); 6.11 委托 委托声明本身并未指向任何方法,因此,它不可以直接被调用。但是,我们可以通过委托(声明)来实例化对象,这样的对象就被称为委托实例 。 委托实例的创建与用类实例化一个对象类似,但有一个约定,要把目标方法的方法名作为参数传入。 如: myDelegate md=new myDelegate(add); md (10,3); 6.11 委托 步骤2:实例化委托实例 6.12 事件 事件是什么? 我们在前面的学习时已经接触过很多事件了,比如点击按钮、鼠标双击等等,这些都是事件。 事件的定义 事件是类在发生其关注的事情时用来提供通知的一种方式 。 6.12 事件 事件的发生一般都牵扯2个角色 事件发行者(Publisher): 一个事件的发行者,也称作是发送者(sender),其实就是个对象,这个对象会自行维护本身的状态信息,当本身状态信息变动时,便触发一个事件,并通知说有的事件订阅者。 事件订阅者(Subscriber): 对事件感兴趣的对象,也称为Receiver,可以注册感兴趣的事件,在事件发行者触发一个事件后,会自动执行这段代码。 6.12 事件 事件的定义用关键字event声明,不过声明事件之前必须存在一个委托(这个委托一般根据相应的事件编写): 6.12 事件 若存在事件处理程序: 6.12 事件 事件参数 事件处理程序一般接收两个参数,一个为object,表明发送事件的源,一个为EventArgs,表明事件发生时向事件处理程序传递的参数,这两个类型都是.NET自带的,但是这不是必须的,只是程序员一般在编写事件的时候都设置这两个参数。 * * 方法 功能说明 public Boolean Equals(Object ob
原创力文档


文档评论(0)