1 / 25
文档名称:

Net面向对象程序设计-9-使用枚举和结构来创建值类型-2019-2019-2.ppt

格式:ppt   大小:1,076KB   页数:25页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Net面向对象程序设计-9-使用枚举和结构来创建值类型-2019-2019-2.ppt

上传人:落意心冢 2022/6/21 文件大小:1.05 MB

下载得到文件列表

Net面向对象程序设计-9-使用枚举和结构来创建值类型-2019-2019-2.ppt

相关文档

文档介绍

文档介绍:Net面向对象程序设计-9-使用枚举和结构来创建值类型-2019-2019-2
可爱卡通创意手绘通用PPT幻灯片演讲
第9章 理解值和引用使用枚举和结构来创建值类型
声明枚举类型
创建并使用枚举类型
声明结构类型
创建结构和类在行的每个元素所对应的整数都递增1.
若要获得一个枚举变量的基础整数值,必须进行转换
enum Season { Spring, Summer, Fall, Winter }
...
Season colorful = ;
((int)colorful); // writes out '2‘
也可以把一个特定的整数常量和一个枚举的文字常量关联起来
例如:
enum Season { Spring = 1, Summer, Fall, Winter }
多个枚举文字常量可以拥有相同的基础值
例如:秋天
英国Autumn,美国Fall
enum Season { Spring, Summer, Fall, Autumn = Fall, Winter }
声明结构
struct Time
{
public int hours, minutes, seconds;
}
尽量不要把结构的字段声明为public,可以通过为结构添加构造器和方法初始化和处理这些字段
struct Time
{
public Time(int hh, int mm, int ss)
{
hours = hh % 24; minutes = mm % 60;seconds = ss % 60;
}
public int Hours()
{
return hours;
}
...
private int hours, minutes, seconds;
}
结构主要适用于实现“值”的概念
对于简单的、比较小的数据值,如果复制值的效率等同于或者基本等同于一个地址的效率,就是用结构
对于较复杂的数据,就考虑使用类
理解结构和类的区别
不能为结构声明默认的构造器,因为编译器始终会帮我们生成一个
struct Time
{
public Time() { ... } // compile-time error
...
}
在编译器为结构生成的默认构造器中,总是将字段设为0,false或者null
假如不使用默认的构造器,还可以提供一个非默认的构造器,用它将字段初始化不同的值
在自己写的一个构造器中,必须自己负责初始化所有的字段,编译器不会再帮我们初始化。
即,必须在结构的所有非默认构造器中显式地初始化所有字段,否则会造成编译器错误
struct Time
{
private int hours, minutes, seconds;
...
public Time(int hh, int mm)
{
= hh;
= mm;
} // compile-time error: seconds not initialized
}
在一个类中,可以在声明一个实例字段的同时初始化它,但在结构中不允许这么做
struct Time
{
private int hours = 0; // compile-time error
private int minutes;
private int seconds;
...
}
阅读课本163页,类和结构的主要区别表
声明结构变量
struct Time
{
private int hours, minutes, seconds;
...
}
class Example
{
private Time currentTime;
public void Method(Time parameter)
{
Time localVariable;
...
}
}
可以使用?修饰符创建一个结构变量的可空版本,然后把null值赋给这个变量
Time? currentTime = null;
理解结构的初始化
如果调用一个构造器,则结构中的所有字段都将得到初始化
Time now = new Time();
由于结构是值类型,所以不需要调用构造器就可以创建结构变量
Time now;
在自己的构造器中,必须显式初始化一个struct的所有字段
struct Time
{
private int hours, minutes, seconds;
...
public Time(int hh, int mm)
{
hours = hh;
minutes = mm;
seconds = 0;
}
}
Time now = new

最近更新

校园二手书销售项目融资计划书 39页

创新材料在场地准备中的应用 29页

的房屋租赁合同汇编十篇 26页

杂货铺电商项目融资计划书 45页

永磁水冷测功机的研究的综述报告 2页

水稻品种的鉴定以及对粘虫抗性的研究的综述报.. 2页

水热制备黄铁矿型硫化物的研究的综述报告 2页

水洞沟旧石器时代晚期遗址古人类植物资源利用.. 2页

氮杂唑手性温控离子液体催化合成γ-丁内酯的研.. 2页

2024年原油降凝降粘剂投资申请报告代可行性研.. 59页

气垫船海上运动的视景仿真技术研究的综述报告.. 2页

武汉与五大中心城市功能比较研究的中期报告 2页

止痛贴膏剂的制备工艺及质量标准研究的中期报.. 2页

橙皮甙对大鼠心肌缺血再灌注损伤诱导细胞凋亡.. 2页

下肢静脉曲张诊断与治疗 31页

梅花新品种DUS测试指南制定及已知品种数据库建.. 2页

三核磁共振谱nuclearmagneticresonanceNMR 15页

高中英语必修四Unit5课文详解Book4unit5 7页

柴油丁醇混合燃料对柴油机工作过程和排放的影.. 2页

VSD技术的临床应用 36页

某医科大学生自杀相关行为的心理、社会影响因.. 2页

包装印刷包装打印机和印刷扫描仪 24页

枇杷果实乙烯生物合成及相关基因表达研究的综.. 2页

2024(突破训练)021中考语文文言文重要实词(.. 29页

“一校一品”体育跳绳特色活动汇报材料 4页

幼儿园大班艺术《吹泡泡》ppt课件 16页

八年级下册历史主要知识点归纳整理 23页

表格式中医问诊单 7页

快乐口袋(中班ppt课件) 16页

试论无相唯识与有相唯识理论差异及其实质 13页