ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

委托的学习记录

2021-01-20 11:03:10  阅读:187  来源: 互联网

标签:姐姐 半小时 委托 记录 小哥 学习 快递 门票


 

说说我对委托的理解 

 

在写代码的过程中每个人多多少少都会碰到委托.虽然并不是特别常用,但是却非常重要.

我们来分析下委托是什么.

  

   举个小例子:         

 

   重要活动接待员:您好,检票,请出示门票

 

   我:哎呀妈呀,票没带,我这猪脑子.

 

   我:还有半小时,得叫人找个送过来啊.不然凉了..

 

   我:喂,姐,我房间桌上有个活动门票忘带了,帮我找个快递小哥半小时内把送门票送过来啊,半小时内啊,来不及了,十万火急..

 

   姐姐:半小时..

 

   姐姐:  脑袋炸裂的你姐姐,帮你寻找快递小哥中....

 

   等待28分钟后,满头大汗的快递小哥吧门票送到你面前.

 

   我:好险啊..终于进来了

 

   =================================================================================================================分割线

   在上面的例子中,因为我忘记带门票,导致无法入场,最后由姐姐帮忙找到(骑车,奔跑很快)的快递小哥 ,完成了的半小时内送门票的任务

   

   先记住用颜色标记的3个关键字 姐姐 ,快递小哥 ,半小时内送门票的任务 

 

   如果在代码中我们要如何描述上面的整个事件过程呢,看看下面的代码

   首先定义了半小时内送门票的任务(门票肯定是必须的,还得要骑车很快,奔跑贼快的快递小哥才行啊

 

 

  是不是很眼熟, 我们来 一个单词一个词的来分析上面要完成的任务:

  delegate  定义这是一个自己完成不了的任务 (一个你和姐姐都完成不了的任务 ,你姐不够快啊!!)

   void    收到门票后的答复,可以是void 无答复,也可以是需要其他各种类型的答复(string,int,class,委托类型)

  OverSMP   给半小时内送门票任务取个名字

  string  MP      你的门票(委托的要求)

FKXG fKXG     跑的飞快的小哥(委托的要求)

  

  接下来应该要找能完成任务的快递个公司了吧.(嗯,不错,你姐找到2个有跑的飞快小哥员工的快递公司)

 

 快递小哥长这样.真的挺快的:

 

 

   2个快递公司给出了快速配送方案,很符合送门票的事情

     

  接下来要把任务给到快递公司了,给谁呢,你姐选择了快递公司xiaoming的公司.

 (这里需要注意你姐姐sister只是个OverSMP委托的实例化变量,你姐姐怎么干的了呢,她只是变量可以指向很多快递公司+=, -=,最终她指向了xiaoming快递小哥的公司方案 ,快递公司接到指令,执行了自己的方案,这点很重要,姐姐是变量只是承载,指向而已)

   这里就很好的说明了为什么委托和c++函数指针很像,但是委托是安全的,有强(固定)类型,GC自动回收垃圾,C++函数指针无法直接回收,所以不太安全)

   看到这里委托已经露出了他的全部面目,再看看下图加深理解.

 

 

 

 

委托总结:

委托就是方法的模板,需要达成条件的方法才能指向委托,并且委托自己执行不了

需要一个变量(存储并指向符合条件的方法),最后调用的是人是变量(姐姐角色)传入参数执行所有指向的真实方法.

标签:姐姐,半小时,委托,记录,小哥,学习,快递,门票
来源: https://www.cnblogs.com/technologyPupil/p/14301553.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有