- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 勿忘国耻纪念九一八事变PPT.pptx VIP
- 表彰大会教师代表演讲稿.pptx VIP
- 节能建筑施工中的重点及应对措施.docx VIP
- 小学四年级上册信息科技教案(湖南2025新教材).docx VIP
- 青岛版六年级数学上册第一单元 分数乘法的计算专项试卷 附答案.docx VIP
- “俄语+专业”复合型人才培养模式探析——以江苏师范大学圣理工-中俄学 .pdf VIP
- 为促进意义学习而设计教学盛群力省公开课一等奖全国示范课微课金奖PPT课件.pptx VIP
- 工程量清单和招标控制价编制实施计划方案.docx VIP
- 2023中考语文真题分类汇编:记叙文(散文)阅读试题(含答案解析).docx VIP
- 大白菜种质资源描述规范.PDF VIP
文档评论(0)