- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
partial 3. 局部类型的注意点 (1) 关键字partial是一个上下文关键字,只有和 class、struct、interface 放在一起时才有关键字的含义。因此partial的引入不会影响现有代码中名称为partial的变量。 (2) 局部类型的各个部分一般是分开放在几个不同的.cs文件中,但C#编译器允许我们将他们放在同一文件中。 4.2 结构 结构(struct)是由一系列相关的、但类型不一定相同的变量组织在一起而构成的数据表示形式,所有结构类型都隐式地从类型object继承。通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征。 例如:public struct Point { public int x; public int y; public string s;} C#中的结构:DateTime/TimeSpan/Point/Int32/Double等 在结构声明中,除非字段被声明为 const 或 static,否则无法初始化。 结构不能声明默认构造函数(没有参数的构造函数)或析构函数。 结构在赋值时进行复制。?将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修改不会更改原始副本的数据。 凡是定义为结构的,都可以用类来定义。 创建轻量级对象时,可以使用结构。 4.2 结构 结构是值类型,而类是引用类型。 与类不同,结构的实例化可以不使用?new?运算符。 结构可以声明带参数的构造函数。 一个结构不能从另一个结构或类继承,而且不能作为一个类的基。?结构可以实现接口。 结构可用作可以为 null 的类型,因而可向其赋 null 值。 结构不能包含显式的无参数构造函数。 Class的构造函数不需要初始化全部字段,Struct的构造函数必须初始化所有字段 4.2 结构 结构 结构 类 没有默认的(无参数)构造函数,但是可以添加构造函数,结构可以声明构造函数,但是他们必须是带参数的。 有默认的构造函数 没有析构函数 有析构函数 没有abstract和sealed(因为不能继承) 可以使用abstract和sealed 不能有protected修饰符,不可以声明protected,virtual,sealed和override成员 可以声明protected,virtual,sealed,override成员 结构 结构 类 可以不使用new初始化,struct在声明时就进行了初始化过程,所有的成员变量均默认为0或null 必须使用new初始化 在结构中初始化实例字段是错误的 Struct变量使用完之后就自动解除内存分配 Class实例有垃圾回收机制来保证内存的回收处理 Struct创建的对象复制简单,直接以等号连接即可 Class对象复制分为浅复制和深复制,必须经过特别的方法来完成复制 结构 使用场合: (1)实现一个主要用于底层存储数据类型的结构时,可以考虑结构。将用于定义应用程序行为的类型设计为Class。 (2)Struct变量占用堆栈的空间,因此适用于数据量相对小的场合,堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些。 (3)结构数组具有更高的效率 (4)结构表示如点,矩形和颜色这样轻量的对象,例如,如果声明一个含有1000个点的对象数组,则将为引用每个对象分配附加的内存,在此情况下,结构的成本较低。 (5)?在表现抽象和多级别的对象层次时,类是最好的选择 4.3 方法 方法(Method)是一组程序代码的集合,每个方法都有一个方法名,便于识别和让其他方法调用。 1. 方法的定义与使用 (1)方法必须放在某个类中。 (2)定义方法的语法形式为: 访问修饰符 返回值类型 方法名称(参数序列) { 语句序列 } 4.3 方法(续) 定义方法时,需要注意以下几点: 方法名不能和变量、常数或者任何声明在类中其它的成员相同。 方法可以有参数,也可以没有参数,但是不论是否有参数,小括号都是必需的。如果参数序列中的参数有多个,则以逗号分开。 结束某个方法的执行,可以使用return语句,程序遇到return语句后,会将执行流程交还给调用此方法的程序代码段。此外,还可以用return语句返回一个值。 如果声明一个非void类型的方法,则方法中必须至少有一个return语句。 4.3 方法(续) using System; class Program { public int MyMethod() { Console.WriteLine(this is MyMethod.); int i = 10;
您可能关注的文档
最近下载
- 机械制图-形位公差培训讲义.pptx VIP
- 11.21 峥嵘岁月 课件-2024-2025学年高中音乐人音版(2019) 必修 音乐鉴赏.pptx VIP
- 08D800-7 民用建筑电气设计与施工-室外布线.docx VIP
- 16MR204城市道路-透水人行道铺设图集.docx VIP
- 肿瘤的诊断课件.ppt VIP
- DB1309T122-2022《海水池塘对虾养殖技术规范》.docx VIP
- 110kV变电站防雷接地施工方案.doc VIP
- 《电路分析基础》习题解析汇总(卢飒第二版) 第1--11章.docx VIP
- —机械制图与形位公差 识图与公差.ppt VIP
- 十足股份鲜食认证测试卷.doc
文档评论(0)