Overloads基类

奶奶的气死我了,真是一失足成千古恨,今天又去看了看LINQ..结果出了好多事情,说明书到用时方恨少,脑到使时水不够,一个字:差!

   今天下午在看LINQ的时候已经把我气的不行,早点学会哪用写那么多代码。然后看了看接口,发现有些东西需要复习,就去看了看重写和重载,本来没什么好看的一会就看完了,但是自己编代码的时候突然发现,子类居然可以Overloads基类中的方法,而且签名相同!!!

   我打死都没想通,那这个时候还要SHADOWS干嘛!

 

   我勒个去,当时我就傻了,各种查询各种GOOGLE各种MSDN,终于在MSDN的最下角最下角发现了一句很不起眼的话:

   隐藏和重载。Overloads 也可用于隐藏基类中的现有成员或一组重载成员。以这种方式使用 Overloads 时,应用与基类成员相同的名称和参数列表来声明属性或方法,并且不提供 Shadows 关键字。

 

   我当时就有一种砸电脑的冲动。。。。。想自己抽死我自己。。。。

 

   其实到最后总结如下:

   1.若要在一个类中重载一些个基类中没有的方法,不必添加Overloads关键字,放心大胆的搞起来,只要签名不同

   2.若要在子类中重载一个和基类相同的方法,但是签名不同,必须使用Overloads关键字,不然就变成了隐藏,相当于Shadows。

   3.若要在子类中重载一个和基类相同的方法,而且签名相同了!!加入Overloads关键字相当于Shadows关键字。

 

   然后有一点:如果子类已经重写了基类的方法(或者 shadows 或者 签名相同overloads了 或者 方法相同未添加overloads),则在执行构造函数的同时,执行的是子类的方法。

 

   没了,我是低能儿。

转载于:https://www.cnblogs.com/nevermorez/archive/2013/03/14/2960595.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值