面向对象程序设计C委托.pptx

上传人:莉*** 文档编号:87111623 上传时间:2023-04-16 格式:PPTX 页数:8 大小:96.63KB
返回 下载 相关 举报
面向对象程序设计C委托.pptx_第1页
第1页 / 共8页
面向对象程序设计C委托.pptx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《面向对象程序设计C委托.pptx》由会员分享,可在线阅读,更多相关《面向对象程序设计C委托.pptx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2023/3/221委托的用法定义了委托之后,要使用委托首先要实例化委托。实例化委托就是将其指向某个方法,即调用委托的构造函数,并将相关联的方法作为参数传递。然后通过调用委托,执行相关方法的代码,实现委托。第1页/共8页2023/3/222委托案例说明(数组排序)dotNET_C#_OO_Delegate_ArraySort1、定义一个类SortArray 其中有数组排序的方法SortArrayMethod2、Program中定义一个委托SortDelegate(int x)3、声明委托SortDelegate myDelegate;后实例化委托:myDelegate=new SortDele

2、gate(SortArray.SortArrayMethod);4、调用委托:myDelegate(arr)第2页/共8页2023/3/223委托案例说明(委托的增加减少)dotNET_C#_OO_Delegate_MultiDelegate1、定义一个类NumberOperation,其中有数操作的方法Square、SquareRoot2、Program中定义一个委托 delegate void MyDelegate(double dValue);3、声明实例化委托:MyDelegate dlg=new MyDelegate(myNO.Square);4、增减委托:(+=/-=增减方法,若同

3、方法添加两次,则执行两次)dlg+=new MyDelegate(myNO.SquareRoot);/向委托添加方法dlg-=new MyDelegate(myNO.SquareRoot);/从委托移除方法第3页/共8页2023/3/224委托案例说明(多方法委托)dotNET_C#_OO_Delegate_MultiMethodsprivate static List FilterArray(int intArray,NumberPredicate predicate)private static bool IsEven(int number)private static bool IsOd

4、d(int number)private static bool IsOver5(int number)第4页/共8页2023/3/225委托案例说明(委托的协变和逆变)dotNET_C#_OO_Delegate_Coconvariant声明返回类型为Person类实例的委托delegate Person CreatePersonHandle(string FirstName,string LastName,int Age);声明参数为Employee类实例的委托delegate void ShowEmployeeHandle(Employee emp);委托的协变:委托的返回类型比方法返回类

5、型的抽象级别高,进行隐式转换表现形式是方法返回的类型,是委托声明中返回类型的派生类。CreatePersonHandle eh=CreateEmployee;Employee employee=(Employee)eh(Pony,Smith,41);委托的逆变:委托的参数类型比方法参数类型的抽象级别低,进行隐式转换表现形式是方法的参数类型,是委托声明中参数的基类。ShowEmployeeHandle ph=ShowPerson;ph(employee);第5页/共8页2023/3/226事件 事件是C#中一个高级概念,是操作发生时允许执行特定于应用程序的代码的机制。事件要么在相关联的操作发生前发生(事前事件),要么在操作发生后发生(事后事件)。例如,当用户单击窗口中的按钮时,将引发一个事后事件,以允许执行特定于应用程序的方法。第6页/共8页2023/3/227感谢您的关注第7页/共8页2023/3/22常熟理工计算机学院 杨剑勇8感谢您的观看!第8页/共8页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁