第9章-委托与事件.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C#案例教程第9章接口委托事件本章导读 接口、委托和事件是面向对象程序设计中较深和较难的部分,各位在学习的过程中要结合前后部分的知识细细体会9.1接口接口生活中的接口实例工业制造中基于组件和接口的制造方法同样适于软件工程一个规模较大的软件系统往往由众多相对独立且可置换的组件构成。组件之间通过接口实现有机连接常见的USB和VGA接口手机的各种排线及接口接口接口(Interface)简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致接口本身不提供它所定义的成员的实现,这些成员在使用该接口的类中实现定义接口定义接口[修饰符]interface接口名称[:基接口列表]{ 接口体成员列表}修饰符有new和四个访问修饰符:public、protected、internal、private定义接口【实作任务】例9.1定义一个客车类的接口该接口向外提供一个此车速度、车牌号的接口和一个输出车相关信息方法的接口interfaceIBus{intWeight{get;set;}stringPlate{get;set;}voidShowinfo();}实现接口【实作任务】实现接口IBusclassBus:Ibus{ publicintWeight//实现接口中的Weight属性{ get{returnweight;}//提供对weight的读权限 set{weight=value;}//提供对weight的写权限} publicstringPlate//实现接口中的Plate属性{ get{returnplate;}//提供对plate的读权限 set{plate=value;}//提供对plate的写权限} publicvoidShowinfo()//实现接口中的Showinfo方法{ System.Console.WriteLine(我是客车); System.Console.WriteLine(我的重量是:+Weight);}}实现接口测试代码classTest{staticvoidMain(){IPasstrainp=newPasstrain();p.Weight=1000;p.Showinfo();}}运行结果9.2委托委托委托是把方法作为参数传递给其它方法的一种机制可以像使用类一样使用委托先声明,再实例化不同的是:类在实例化之后叫对象或实例委托在实例化后仍叫委托定义和使用委托分三个步骤委托声明委托实例化委托调用委托定义委托例如:publicdelegateintmyDelegate(intx,inty);代码定义了一个委托,它可以封装任何返回为int,带有两个int类型参数的方法访问修饰符delegate返回值类型方法名(参数列表);委托2:实例委托实例publicintsub(intx,inty){Console.WriteLine(x+y);}myDelegatecal=newmyDelegate(sub);cal(10,3);//利用委托实例调用sub方法,输出结果131:定义方法3:使用cal调用sub方法可通过以下步骤使用委托实例9.2委托委托可以使用+运算符号将多个委托组合在一起,或使用–运算符号从组合委托中减去一个委托参考:publicintfub(intx,inty){Console.WriteLine(x-y);}myDelegatemyd=newmyDelegate(fub);//再定义一个委托实例myd(10,3);//利用委托实例调用fub方法myDelegatezong=cal+myd;//定义委托zong(10,3);//此时再调用zong(10,3)输出结果: 13 79.3事件事件我们自己定义的类也可以声明事件例:客车在超速时自动警示驾驶员要降低车速声明事件之前必须存在一个委托然后定义事件若存在事件处理程序:可用下面代码将事件处理程序和事件联系起来publicdelegatevoidEventHandler(objectsender,EventA

文档评论(0)

iris + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档