C编程中的 New 关键词的几种用法.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C编程中的 New 关键词的几种用法

浪曦网-国内顶级IT视频网络编程教育平台 Www.LangSin.Com C#编程中的 New 关键词的几种用法 该文档由国内顶级IT视频教育平台浪曦网整理发布 前段时间一个朋友问到C#的New关键字有几种用法,虽说在日常编程中经常用到这个小家 伙,但它到底有几种用法还真没有留意过,现将从网上总结出的资料记下以供同仁学习。 (1)new 运算符 用于创建对象和调用构造函数。 (2)new 修饰符 用于隐藏基类成员的继承成员。 (3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。 new 运算符 1.用于创建对象和调用构造函数 例:Class_Test MyClass = new Class_Test(); 2.也用于为值类型调用默认的构造函数 例:int myInt = new int(); myInt 初始化为 0,它是 int 类型的默认值。该语句的效果等同于:int myInt = 0; 3.不能重载 new 运算符。 4.如果 new 运算符分配内存失败,则它将引发 OutOfMemoryException 异常。 new 修饰符 使用 new 修饰符显式隐藏从基类继承的成员。若要隐藏继承的成员,请使用相同名称 在派生类中声明该成员,并用 new 修饰符修饰它。 请看下面的类: 以下是引用片段: 1 public class MyClass 2 3 { 4 5 public int x; 6 7 public void Invoke() {} - IT Www.LangSin.Com 浪曦网 国内顶级 视频网络编程教育平台 浪曦网-国内顶级IT视频网络编程教育平台 Www.LangSin.Com 8 9 } 10 在派生类中用 Invoke 名称声明成员会隐藏基类中的 Invoke 方法,即: 以下是引用片段: 1 public class MyDerivedC : MyClass 2 3 { 4 5 new public void Invoke() {} 6 7 } 8 但是,因为字段 x 不是通过类似名隐藏的,所以不会影响该字段。 通过继承隐藏名称采用下列形式之一: 1.引入类或结构中的常数、指定、属性或类型隐藏具有相同名称的所有基类成员。 2.引入类或结构中的方法隐藏基类中具有相同名称的属性、字段和类型。同时也隐藏具 有相同签名的所有基类方法。 3.引入类或结构中的索引器将隐藏具有相同名称的所有基类索引器。 4.在同一成员上同时使用 new 和 override 是错误的。 注意:在不隐藏继承成员的声明中使用 new 修饰符将生成警告。 示例 在该例中,嵌套类 MyClass 隐藏了基类中具有相同名称的类。该例不仅说明了如何使 用完全限定名访问隐藏类成员,同时也说明了如何使用 new 修饰符消除警告消息。 以下是引用片段: 1 using System; 2 3 public class MyBaseC 4 5 { - IT Www.LangSin.Com 浪曦网 国内顶级 视频网络编程教育平台 浪曦网-国内顶级IT视频网络编程教育平台 Www.LangSin.Com 6 7 public class MyClass 8 9 { 10 11 public int x = 200; 12 13 public int y; 14 15 } 16 17 } 18 19 20 21 public class MyDerivedC : MyBaseC 22 23 { 24 25 new public class MyClass // nes

文档评论(0)

docindpp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档