第3章在C中创建类型.docVIP

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

第3章 在C#中创建类型 在这一章里,我们深入钻研类型和类型成员。 3.1 类 类是最普通的引用类型。可能最简单的的类的声明就是形如下面的例子: class YourClassName 更复杂一点的类还可以拥有下面这些选项: 置于关键字class 前面: 属性(Attributes)与class修饰符(class modifiers)。不可嵌套的class修饰符有public、internal?、abstract、sealed、static、unsafe以及partial。 跟在YourClassName后面: 通用类型参数(Generic type parameters)、一个基类(base class)与一个或多个接口(Interface) 大括号内部: 类成员(Class members)(包括方法methods、属性properties、索引indexers、事件events、字段fields、构造函数constructors、操作符函数operator functions、嵌套类型nested types还有终止器finalizer ) 上面介绍的这些选项除属性(attributes)、操作符函数以及unsafe关键字等这些概念将于第4章介绍,其余的都将在本章被覆盖到。 3.1.1 字段 字段就是类或结构的成员变量。例如: class Octopus string name; public int Age 10; 可以用于修饰字段的修饰符有: 静态修饰符 Static 访问修饰符 public internal private protected 继承修饰符 New 不安全代码修饰符 Unsafe 只读修饰符 Readonly 线程处理修饰符 Volatile The readonly modifier 只读修饰符 只读修饰符阻止字段在构造后被修改。一个只读字段只有在它的声明或者类型内部的构造函数中被赋值。 字段初始化 字段初始化是可选的。没有初始化的字段有一个缺省值(0、\0、nullstring name anonymous; 同时声明多个字段 为了方便,你可以同时声明多个相同类型的字段,字段之间用逗号隔开。对于共享相同属性和修饰符的字段,这是个便利的方法。例如: static readonly int legs 8, eyes 1; 3.1.2 方法 方法通过一系列语句来执行一个动作。方法接受调用者指定的参数作为输入数据,并且将指定的返回值类型返还给调用者作为输出数据。指定返回类型为void的方法,表示不会返回任何值给它的调用者。方法也可以通ref/out参数作为输出数据返回调用者。 在类型中,方法的签名必须是唯一的。方法的签名由方法的名字和参数类型组成(不是参数名字,也不是返回类型)。 方法可以被以下修饰符修饰: 静态修饰符 Static 访问修饰符 public internal private protected 继承修饰符 new virtual abstract override sealed 不可控代码修饰符 unsafe extern 重载方法 类型内可以重载方法(多个方法用有相同的名字),只要它们的签名是不同的。例如,下面的这些方法可以共存于同一个类型中。 void Foo int x ; void Foo double x ; void Foo int x, float y ; void Foo float x, int y ; 然而,下面的两对方法都不能并存于同一个类型中,因为返回值类型和params修饰符不属于方法签名的一部分: void Foo int x ; float Foo int x ; // compile error void Goo int[] x ; void Goo params int[] x ; // compile error 按值传递和按引用传递 一个参数是按值传递还是按引用传递属于方法签名的一部分。例如,Foo int 可以与Foo ref int 或者Foo out int 共存。然而,Foo ref int 与Foo out int 不能共存: void Foo int x ; void Foo ref int x ; // OK so far void Foo out int x ; // Compile error 3.1.3 实例构造函数 在类或者结构中,构造函数运行初始化代码。构造函数就像普通函数那样被定义,只是它的名字和返回值类型都被简化为与包含它的类型一致: public class Panda string name; // define field pub

文档评论(0)

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

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

1亿VIP精品文档

相关文档