C#C++C语言学会编程第9课结构

C#C++C语言学会编程第9课结构

ID:32705415

大小:60.65 KB

页数:19页

时间:2019-02-14

C#C++C语言学会编程第9课结构_第1页
C#C++C语言学会编程第9课结构_第2页
C#C++C语言学会编程第9课结构_第3页
C#C++C语言学会编程第9课结构_第4页
C#C++C语言学会编程第9课结构_第5页
资源描述:

《C#C++C语言学会编程第9课结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9课结构结构和类非常相似。和类相比,结构更加适合用于表示轻量级对象(如复数、坐标、矩阵、颜色等)。通过结构,只要使用少量数据成员,就能够表示这些轻量级对象,从而简化了应用程序。本章将讲解C#语言中的结构,主要介绍以下知识点。�结构概述;�结构成员;�结构和类的区别创建Point结构;创建Complex结构。9.1结构概述结构(struct)与类非常相似,它们都表示可以包含数据成员(常量和字段)和函数成员(方法、属性、事件、索引器、运算符、实例构造函数和静态构造函数)的数据结构。但是,结构是一种值类型,结构类型的变量直接包含了该结构

2、的数据。类类型是一种引用类型,类类型的变量仅仅包含访问某个数据的一个引用(或地罚1.结构声明2.结构修饰符9.2结构成员结构和类一样,它也包含多种成员,如常量、字段、方法等,具体说明如下。�常量�字段�方法�属性�事件�索引器�运算符�实例构造函数�静态构造函数�类型上述成员除了类型之外,可以分类两大类:数据成员和函数成员。其中,数据成员包括常量和字段;函数成员包括方法、属性、事件、索引器、运算符、实例构造函数和静态构造函数。9.3结构和类的区别结构和类虽然比较相似,但是还存在以下8个方面的区别。结构是值类型,并隐式地从类Syste

3、m.ValueType继承,而类是引用类型,并从类object继承。结构总是分配在堆栈上,而类常常分配在堆上。如果对结构类型的变量进行赋值,那么将创建所赋的值的一个副本。结构类型字段的默认值是字段本身的类型的默认值,而类类型字段的默认值为null。因此,结构是存在默认值的。结构不能声明无参数的实例构造函数。结构不能声明析构函数。在结构中,初始化实例字段是错误的。对于结构而言,不像类那样存在继承。一个结构不能从另一个结构或类继承,而且不能作为一个类的基。但是,结构从基类Object继承。结构可实现接口,其方式同类完全一样。实例化结构时

4、,可以不使用new运算符,而且结构对象的字段具有默认初始值。而实例化类时,必须使用new运算符,并需要设置各个字段的初始值。9.3.1继承结构不支持继承。因此,在声明结构成员时,不能使用protected或protectedinternal修饰符。结构类型永远不会是抽象的,并且始终是隐式密封的。因此,结构不能作为其他结构或类的基结构,而且在声明结构时,不能使用abstract或sealed修饰符。9.3.2this保留字this是一个保留字,它只能在实例构造函数、实例方法或实例访问器的块中使用,且表示当前实例。在类中,this表示当

5、前实例,它的值不能被修改。在结构中,this相当于一个变量。如果在结构的实例构造函数中,this相当于一个结构类型的out参数;如果在结构的实例函数成员中,this相当于一个结构类型的ref参数。9.3.3构造函数在结构中,不能声明无参数的实例构造函数。其实,每一个结构都隐式地具有一个无参数实例构造函数,该构造函数将初始化该结构所有字段的值。如果字段的类型为值类型,则将该字段的值设置为其类型的默认值。如果字段的类型为引用类型,则将该字段的值设置为null。另外,结构还可以声明带有参数的实例构造函数。9.4实例一:创建坐标点结构Poi

6、nt本实例创建一个名称为Point的结构,用来表示二维坐标值。该结构包含2个属性:X和Y,它们分别表示X坐标值和Y坐标值。9.4.1设计Point结构Point结构包含2个字段:x和y。其中,x字段表示X坐标的值,y字段表示Y坐标的值,它们的类型都为int。9.4.1测试Point结构【实例9-1】测试了Point结构,并使用该结构创建一个实例p,然后显示该实例的X坐标和Y坐标的值。9.5实例二:创建复数结构Complex本实例创建一个名称为Complex的结构,用来表示一个复数。该结构包含2个属性:Integer和Fraction

7、,它们分别表示复数的整数部分和小数部分。另外,该结构重载了+运算符,并使用该运算符计算了两个复数的和。9.5.1设计Complex结构Complex结构包含2个字段:integer和fraction。其中,integer字段表示复数的整数部分,fraction字段表示复数的小数部分,它们的类型都为int。9.5.1测试Complex结构【实例9-2】测试了Complex结构,并使用该结构创建两个实例lc和rc,然后计算这两个实例的和,并显示计算结果。9.6小结本章主要介绍了C#语言中的结构,如结构概述、结构成员、结构和类的区别、Po

8、int结构、Complex结构等。其中,读者要着重掌握结构的成员,以及创建结构的方法,为后续编写C#程序代码奠定基础。下一章将要介绍C#语言中的数组。9.7习题在VisualStudio2008集成开发环境中创建名称为“Test_09

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。