枚举与用户定义类型.ppt

上传人:za****8 文档编号:6565439 上传时间:2020-02-29 格式:PPT 页数:14 大小:226.01KB
返回 下载 相关 举报
枚举与用户定义类型.ppt_第1页
第1页 / 共14页
枚举与用户定义类型.ppt_第2页
第2页 / 共14页
枚举与用户定义类型.ppt_第3页
第3页 / 共14页
点击查看更多>>
资源描述
第十章枚举与用户定义类型 thetypeofenumerateandself define 前面我们讲述了VisualBasic的基本数据类型 包括整型数 单精度数 浮点数等 但是在程序设计中有些数据无法直接用基本数据类型来表示比如 一个学生的档案既有姓名 性别等字符串型的量 又有成绩等的单精度型的量 这时可以将不同的基本类型数据组合成一个有机的整体 便于一起引用 用户定义类型可以满足这种要求 同时 一个变量的取值有时需要限定在某一个指定的范围内 这可以通过枚举类型实现 10 1枚举类型 enumeratetype 当一个变量有几种可能的取值时 可以将它定义为枚举类型 定义 是指将变量的值一一列出来 变量的值只限于列举出来的值的范围内 一 定义枚举类型 枚举类型放在窗体模块 标准模块或共用模块中的声明部分 通过enum语句来定义 1 格式 public private enumnamemembername constantexpression membername constantexpression Endenum 说明 public 表示该枚举类型在整个工程中都是可见的 缺省的 private 表示枚举类型只在所生命的模块中是可见的 Name 枚举类型的名称 必须是一个合法的VB标识符 在定义该枚举类型的变量或参数时用该名称来指定类型 Membername 指定该枚举类型的组成元素名称 Constantexpression 枚举类型的组成元素的值 如果没有指定具体值 则所有赋的值或者是0或者比其直接前驱的值大1 元素的值也可以是别的enum类型 VB中将枚举中的元素的值按长整数处理 如果将一个浮点数值赋给一个枚举中的元素 VB会将该值取整为最接近的长整数 10 1枚举类型 enumeratetype 二 枚举变量声明与赋值 定义枚举类型后 可以声明该枚举类型的变量 然后使用该变量存储枚举元素的数值 枚举变量 指用枚举类型定义的变量 变量和参数都可以定义为枚举类型 过程的返回值也可以是枚举类型 格式 dim枚举变量名as枚举类型名注意 尽管通常只将枚举元素数值赋给枚举类型的变量 但也可以将任何长整数数值赋给该变量 当对与枚举常数不相关的变量赋值时 Vb不会产生错误 枚举语句只能在模块级别中出现 不能用模块名来限定枚举类型 10 1枚举类型 enumeratetype 使用举例 例如 p199利用枚举类型输出是否工作日 使用workdays类型的变量存储与workdays枚举中的元素相关联的整数数值 10 1枚举类型 enumeratetype 10 2用户定义类型 self definetype 在Vb中可以用系统提供的标准类型定义变量 它们都是计算机处理的基本数据项 但在实际工作中 常见的并不是孤立的数据项 而是由两个或两个以上的基本项组成的组合项 用这些组合项来描述相应对象的若干属性 这些描述相同对象的组合项的集合形成了记录 记录定义 通常由描述某实体对象各属性数据的若干字段 数据项 构成 记录与数组最大的不同就是数组中的每一元素必须具有相同的数据类型 而记录中的每一个数据项目却可以具有不同的数据类型 一 创建用户定义类型 使用type语句可以创建用户定义的类型 该语句必须置于模块的声明部分 格式 private public typevarnameelementname subscripts astype elementname subscripts astype endtype说明 public private typename elementname type subscripts 数组元素的维数 当定义大小可变的数组时 只须圆括号 subscripts参数使用如下语法 格式 lowerto upper lowerto upper 说明 如果不显示指定lower 则数组的下界由optionbase语句控制 如果没有optionbase语句则下界为0 10 2用户定义类型 self definetype Type语句只能在模块级使用 在标准模块中 用户自定义类型按缺省设置是共用的 可以使用private关键字来改变其可见性 而在类模块中 用户自定义类型只能是私有的 且使用public关键字也不能改变其可见性 注意 1 在type endtype块中不允许使用行号和行标号 2 用户定义类型也可以包含对象 Eg privatetypeaccountpackfrminputasformdbpayrollaccountasdatabaseendtype 10 2用户定义类型 self definetype 10 2用户定义类型 self definetype 3 用户定义类型还可以包含其他的用户定义类型 4 为了保证代码的可读性和易于调试 应尽量将定义用户定义数据类型的所有代码限制在一个模块的范围内 二 用户定义类型变量使用type语句创建一个用户定义类型后 可以定义该类型的变量 定义变量可使用的保留字有dim private public redim或static 10 2用户定义类型 self definetype 注意 假如声明了使用dim关键字 标准或类模块中的用户自定义类型将缺省为公用的 使用用户定义类型解决问题 程序举例 三 用户定义类型与数组 1 包含数组的用户定义类型用户定义类型可以包含一个固定数组 也可以包含动态数组 当在用户定义类型中声明大小固定的数组时必须用数字文字或常数而不能用变量来声明数组的维数 Eg p1972 用户定义类型数组如果一个数组中元素的数据类型是用户定义类型 则称为用户定义类型数组或记录数组 10 2用户定义类型 self definetype 四 用户定义类型与过程可以从函数中返回用户定义类型 也可以将属于用户定义类型的变量作为参数传递到过程中 Eg subfillsystem somesystemassysteminfo somesystem cpu lstcpu textsomesystem memory txtmemory textsomesystem cost txtcost textsomesystem purchasedate nowendsub如果要传递窗体或类模块中的用户定义类型 则过程必须是私有的 10 2用户定义类型 self definetype 五 with语句如果程序中要求对用户定义类型元素进行频繁操作 可以使用with语句简化用户定义类型元素的访问 格式 with endwith说明 1 对象名 可以是用户定义类型变量名或一个VB对象名 2 用with语句打开一个对象之后 在with控制结构引用记录元素 对象属性时不需要指出记录变量或对象的名称 3 要改变一个对象的多个属性 可以使用with语句来给同一个对象的几个属性赋值 10 2用户定义类型 self definetype 4 程序一旦进入with结构 对象就不能改变 因此不能用一个with语句来设置多个不同的对象 可以将一个with结构放在另一个之中 而产生嵌套的with语句 但由于外层with结构成员会在内层的with结构中被屏蔽 所以必须在内层的with结构中 使用完整的对象引用来指出在外层with结构中的对象成员 因此 VB的嵌套with语句并不能有效的处理嵌套的记录变量 5 不要用转向语句跳入或跳出with结构 如果with结构中的语句被执行 而with或endwith语句并没有执行 则会产生错误或不可预知的结果 应用举例 p20110 6 p20210 7 本章总结 1 枚举类型的定义格式枚举类型放在窗体模块 标准模块或共用模块中的声明部分 通过enum语句来定义 2 枚举类型变量的定义格式3 记录类型的定义格式 4 记录类型变量的定义格式 5 记录类型的使用 记录类型数组 记录类型的参数
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!