1 / 13
文档名称:

04 使用常量和枚举值.pdf

格式:pdf   页数:13
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

04 使用常量和枚举值.pdf

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

04 使用常量和枚举值.pdf

文档介绍

文档介绍:下载
第4章使用常量和枚举值
对过程中的数字进行硬编码时,许多东西都可能出错。硬编码的数字通常称为“幻数”,
因为它们往往处于一种神秘的气氛之中。而且这种数字的含义非常模糊,因为这些数字本身并
不指明它代表的是什么。本章将要说明幻数的不足之处,并用常量和枚举值来替代它们。
使用常量
常量很像变量,你可以为它创建一个名字,并为它赋予一个值。但是,与变量不同的是,
常量是在设计代码时被赋予它的值的,这个值不能在运行时更改。你始终都应该用常量代替幻
数,其原因将在本节中介绍。
注意对过程中的字符串进行硬编码时,其作用与使用幻数相似。消除幻数的所有原
因也适用于消除硬编码的字符串。如果你在设计代码时知道它的值,那么请使用常量,
而不要对文本或数字进行硬编码。
幻数很容易在数据输入时出错
幻数存在的主要问题之一是你很容易在键入数字时出错,从而颠倒了数字的位置。例如,
当你键入数字1 0 8 7 6时,很容易错误地键入 1 0 8 6 7或1 8 0 7 6。与处理变量和保留字的方法不同,
Visual Basic的编译器并不在乎颠倒了位置的数字和不正确的数字,它能使用你提供给它的任何
幻数。有时简单的错误造成的问题不会立即表现出来,而当问题表现出来时,它们会以随机的
计算错误的形式出现,这些错误很难准确定位。用常量来取代幻数时, Visual Basic将在编译时
检查常量的有效性。如果常量不存在, Visual Basic便将这一情况通知你,并且拒绝进行编译。
这可以消除错误键入的数字带来的问题,只要常量拥有正确的值,使用该常量的所有代码也将
使用该正确值。
注意如果你在模块的D e c l a r a t i o n s部分中没有加上Option Explicit语句,同时你的常
量名又出现了键入错误,那么Visual Basic就会用不正确的常量名来说明一个变量,从
而导致结果不准确,这是你必须显式说明变量的又一个原因。关于显式说明变量和隐
含说明变量的详细介绍,请参见第5章。
幻数很难更新
幻数的另一个重大缺点是它们很难不断更新。假如你开发了一个财务应用程序,当前的抵
押贷款利率是7 . 2 5%。另外假设这个值是在根据利率进行计算的许多过程中硬编码的值。当利
率变化时,你该怎么办?(利率是经常变化的。)可以进行全局搜索并用新利率取代旧利率,
但是这会使你的代码出错。在应用程序中使用的另一个贷款利率的值可能也是 7 . 2 5。如果执行
全局搜索,并取代了 7 . 2 5%,你就也改变了这个贷款利率。如果用人工更改代码中的每个值,
可能出现数字换位的错误,也可能键入新值时出错。进行有选择的搜索和取代,并且对每个更
第 4章使用常量和枚举值计计
下载 29
改进行确认,这又太费时间。如果改用常量,你只要将值更改一次(在常量的说明中进行更改),
使用抵押贷款利率的每行代码将立即改用更新后的利率。
常量使代码更容易阅读
使用常量后,得到的一个额外好处是可使创建的代码更容易阅读。一般来说,幻数很不直
观。也许你对幻数非常了解,但是其他人则根本看不明白。通过合理地给常量命名,使用这些
常量的代码就变得比较直观明了,更加容易阅读。请看下面两个代码语句,究竟哪一个语句对
你更有意义呢?
幻数:
curInterestAmount = (curLoanAmount * .06) / 12
有名常量:
curInterestAmount = _
(curLoanAmount * c_sngInterestRate) / c_intMonthsInTerm
关于常量,最后要说明的一点是,非常适合为常量赋予较宽的作用域,这与使用变量时的
情况不同。在使用变量时,最好应该缩小作用域。实际上,在一个应用程序中你决不应该两次
创建相同的常量。如果你发现自己复制了一个常量,请将原始的常量说明转至较宽的作用域,
直到该常量可供引用它的所有过程使用为止。
使用枚举值
枚举值与常量相似,因为它们都是被赋予值的有名实体。但是,枚举值的行为特性类似模
块中的公用常量组。它们被当作数据类型来处理,可以用它们创建具有相应的变量和属性值的
常量。也许你已经在使用 Visual Basic中的枚举值了。例如,当你使用 M s g B o x语句时,Vi s u a l
B a s i c的Auto List Members(自动列出成员)特性为 B u t t o n s参数显示一个下拉列表(通常称为
“代码帮助程序下拉列表”)(见图4 - 1)。

最近更新

2023年上海大学单招职业适应性测试题库最新 40页

2023年上海第二工业大学单招职业技能考试题库.. 40页

2023年中国计量大学单招职业技能测试题库带答.. 42页

2023年丽水学院单招职业技能测试模拟测试卷含.. 39页

2023年乐山职业技术学院单招职业技能考试模拟.. 40页

2026年全国护士资格证考试时间 4页

2023年云南旅游职业学院单招职业倾向性考试题.. 39页

2023年云南理工职业学院单招职业技能测试题库.. 38页

2023年伊春职业学院单招职业技能测试模拟测试.. 40页

2023年保定职业技术学院单招职业倾向性考试模.. 41页

2026年党委通讯员先进事迹 7页

2023年兰州航空职业技术学院单招综合素质考试.. 41页

2023年内蒙古体育职业学院单招综合素质考试题.. 40页

2023年内蒙古科技职业学院单招职业技能测试模.. 41页

2023年包头职业技术学院单招职业技能考试模拟.. 40页

2023年华北理工大学轻工学院单招职业适应性考.. 40页

2026年免费技能培训计划方案 51页

2023年南充科技职业学院单招综合素质考试题库.. 39页

2026年免费三方协议电子版 41页

2023年南通职业大学单招职业倾向性考试模拟测.. 42页

2026年先会爱自己才能更好的给予孩子爱 6页

2023年台州科技职业学院单招职业适应性测试题.. 40页

2023年吉安职业技术学院单招职业适应性测试题.. 42页

2026年元旦活动策划组织宣传方案 29页

2026年元旦校长致辞范例 9页

2023年呼伦贝尔职业技术学院单招职业适应性考.. 43页

2023年哈尔滨北方航空职业技术学院单招职业适.. 39页

ZR-003 建设单位法人授权书 1页

2023年四川省凉山州数学中考真题试卷【含答案.. 32页

铁路钢轨探伤车运用管理办法 21页