第一部分基础知识 2
第一章VB中OO简介 2
1.1什么是OO? 2
目录 2
1.2面向对象概念的介绍 3
1.2.1 什么是对象? 3
1.2.2什么是类? 4
1.2.3对象如何相关? 6
1.3面向对象系统的基本元素 8
1.3.1抽象:集中在重要事物上 8
1.3.2封装:隐藏私有部分 8
1.3.3继承性:获得再利用 9
1.4.1 在类模块中定义类 10
1.4.2用Property过程提供公共访问 10
1.4 Visual Basic中的OO功能 10
1.3.4 多态性:同一行为,不同的实现 10
1.4.3定义多态性方法 11
1.4.4 生成事件 11
1.4.5封装类常量 11
1.4.6用Object Browser浏览类 11
1.4.7创建对象 11
1.4.8将窗体用作对象 11
1.4.9使用多组对象 11
1.4.10定义多个接口 12
1.4.11 用ActiveX组件说明对象 12
1.4.12 开发以Web为基础的应用程序 12
1.4.13 创建客户/服务器应用程序 12
1.5.2新的面向对象功能: 13
1.5.1 主要的新功能:速度和Web 13
1.5 Visual Basic 5的新功能 13
1.5.3 新的ActiveX功能:OLE成为活动的 14
1.5.4 新的IDE功能:理性的工具规则! 14
1.5.5其它新功能:增强的分类 16
1.6 小结 17
1.7思考问题 18
第二章软件开发过程 19
2.1软件开发过程概述 19
2.1.1 从创意开始 20
2.1.2建立需求 21
2.1.3 计划项目和安排项目的日程 22
2.1.4 研制结构 22
2.2.1 可以使用同样的语言 23
2.2使用面向对象的方法的益处 23
2.1.7 维护应用程序 23
2.1.6 启动检验 23
2.1.5 开始构造 23
2.2.2 设计真实世界的模型 24
2.2.3 估计项目所需时间 24
2.2.4 证明设计花费时间的合理性 25
2.2.5 防止原型带来的惊喜 25
2.2.6控制程序设计的复杂程度 25
2.2.7简化多程序员开发 26
2.2.8 适应变化 26
2.2.9处理特殊的定单 26
2.2.10 准备临时交货 27
2.2.11 测量进度 27
2.2.12 进行维护 27
2.2.13 重用组件 27
2.3联系管理系统实例研究 28
2.4小结 29
2.5思考问题 29
第三章设计的先决条件 30
3.1从创意出发 30
3.1.1 创意从哪里来? 31
3.1.2 使创意定形和评估创意 32
3.2确立需求 34
3.2.1 定义以目标为中心的需求 34
3.2.2创建项目小组 35
3.2.3进行必要的准备工作 37
3.2.4 声明目标 38
3.2.5设置规模 38
3.2.6确认需要 39
3.2.7把需要转换为需求 41
3.2.8确定需求的优先次序 43
3.3计划和安排项目 44
3.3.1 以目标为中心的计划 44
3.3.2 项目日程安排 45
3.3.3始终以目标为中心 46
3.3.4 项目计划和日程安排的十个神话 47
3.4小结 51
3.5思考问题 52
第二部分设计框架 54
第四章面向对象结构的GUIDS方法 54
4.1 GUIDS方法 54
4.1.5 构造策略 56
4.1.3 以实现为中心的设计 56
4.1.4 数据设计 56
4.1.2用户界面设计 56
4.1.1 以目标为中心的设计 56
4.1.6将建模过程集成到进程中 57
4.2小结 57
4.3思考问题 57
第五章以目标为中心的设计 59
5.1什么是以目标为中心的设计 59
5.2为以目标为中心的设计做准备 61
5.2.1 标识对象 61
5.2.2 定义行为 61
5.2.3 列表属性 62
5.3描述对象 62
5.3.1 启动目标 62
5.3.2文档化对象 63
5.3.3研究需求 64
5.4模拟关系 66
5.4.1 容器——“有一个”关系 67
5.4.2子类——“是一个”关系 68
5.4.3协作——“使用”关系 68
5.5使用实际方案去验证对象的有效性 68
5.6文档化以目标为中心的设计 69
5.6 小结 70
5.7 思考问题 70
第六章用户界面设计 72
6.1 什么是“好的”用户界面设计? 72
6.2创建面向目标的设计 73
6.2.1 标识用户目标 74
6.2.2 定义功能 75
6.2.3提供思维模型 76
6.2.4 布局功能 76
6.2.5选择界面样式 78
6.2.6 布局屏幕 80
6.2.7 添加趣味 81
6.3观察用户界面的基本原则 81
6.3.1 简单化 81
6.3.2 提供答案,而不是问题 81
6.3.3使它灵活 82
6.3.4使它具有容错性 82
6.3.5让它有记忆 83
6.3.6 让它信任用户 84
6.3.7 让它合适 84
6.3.8 正确启动 84
6.4.1 验证功能的有效性 85
6.4.2 创建原型 85
6.4验证用户界面设计的有效性 85
6.4.3验证可用性 86
6.5文档化用户界面设计 87
6.6小结 87
6.7思考问题 88
第七章以实现为中心的设计 89
7.1 什么是以实现为中心的设计? 89
7.2为以实现为中心的设计做准备 91
7.2.1 单片结构 91
7.2.2 文件服务器结构 92
7.2.3 两层客户/服务器结构 92
7.2.4 三层客户/服务器结构 93
7.3定义系统的结构 95
7.3.1 物理结构 95
7.4.1 用户界面层组件 96
7.4设计组件 96
7.3.2 逻辑结构 96
7.4.2服务器层组件 97
7.4.3 附加的组件 103
7.5设计类 106
7.5.1 定义属性 106
7.5.2 定义方法 107
7.5.3 定义接口 108
7.5.4 定义事件 109
7.6考虑实现问题 109
7.6.1 性能需求 109
7.6.2资源约束 110
7.6.3安全需求 110
7.6.4 使用状态过渡图设计动态状态 110
7.7.1再次访问方案 113
7.7验证以实现为中心的设计的有效性 113
7.6.5 评估已有的设计样式 113
7.7.2确保通力合作 114
7.7.3创建一个原型 114
7.8文档化以实现为中心的设计 114
7.9小结 114
7.10思考问题 115
第八章数据设计 116
8.1什么是数据设计 116
8.2给数据排序 117
8.3把数据有效地存储在数据文件中 118
8.3.1 何时使用数据文件 118
8.3.2 与数据文件接口 119
8.4使用数据库增加灵活性 119
8.4.1 何时使用数据库 119
8.4.2 与数据库接口 120
8.5在Registry中注册配置数据 122
8.5.1 何时使用Registry 122
8.5.2与注册文件接口 123
8.6永久的和暂时的内部数据 123
8.7设计关系数据库 124
8.7.1 定义表格 124
8.7.2 定义主键标 125
8.7.3规范化进程 125
8.7.4 调整性能 126
8.8常用数据访问结构 126
8.8.1本地数据配置 127
8.8.2 网络化的数据配置 127
8.8.3数据服务器配置 128
8.8.5 附加的考虑因素 129
8.8.4数据抽点配置 129
8.9文档化数据设计 130
8.10小结 130
8.11思考问题 131
第九章构建策略 132
9.1什么是构建策略? 132
9.2是购买还是自己建立 134
9.2.1 外部条件是什么? 134
9.2.2 我需要什么? 134
9.2.3灵活性如何? 135
9.2.4什么是风险? 135
9.2.5 利用开发工具提高效率 136
9.3编码标准 136
9.3.1 为什么有编码标准? 136
9.3.3为了程序清晰易读而加入注释 137
9.3.2哪类标准? 137
9.3.4给例程提供一些结构 139
9.3.5 最小化变量作用域 141
9.3.6设定语法标准 142
9.3.7 错误处理 143
9.4命名约定 145
9.4.1 好名/坏名 145
9.4.2 对象命名 146
9.4.3 菜单命名 148
9.4.4模块命名 148
9.4.5例程命名 148
9.4.6 变量命名 149
9.5配置管理/源代码控件 150
9.5.1 检测时间 150
9.4.7 常量命名 150
9.5.2 管理更改请求 151
9.6检查和测试过程 151
9.6.1 写无错误代码 152
9.6.2 编完其部分后就测试 152
9.6.3其他人眼里的看法 152
9.6.4越过高墙:执行整体测试 153
9.6.5测试整个系统 153
9.7文档和帮助系统 153
9.7.1定义文档 154
9.7.2设计帮助系统 154
9.8实现计划和调度 154
9.9小结 154
9.10思考问题 155
10.1什么是类 158
第三部分构建应用程序 158
第十章创建第一个类 158
10.2创建一个类 159
10.2.1 本节将涉及的内容? 160
10.2.2创建一个类的步骤 160
10.2.3插入一个类模块 160
10.2.4定义属性 162
10.2.5创建方法 166
10.2.6 向应类事件 167
10.2.7 文档化类 169
10.2.8使用Object Browser 170
10.2.9简述类型库 171
10.2.10本节小结 171
10.3.1本节将讲述的内容 172
10.3使用一个类的实例 172
10.3.2 创建和使用一个类实例的步骤 173
10.3.3声明对象变量 173
10.3.3创建对象 174
10.3.4设定/获取对象属性 175
10.3.5调用对象方法 175
10.3.6释放对象引用 176
10.3.7本节小结 177
10.4定义类中常量 177
10.4.1本节将讲述的内容 177
10.4.2声明常量 177
10.4.3在枚举中封装常量 178
10.4.4本节小结 180
10.5.4定义错误号 181
10.5.3 决定处理哪个错误 181
10.5.1 本节将讲述的内容 181
10.5 处理错误 181
10.5.2处理错误的步骤 181
10.5.5 返回或解决错误 182
10.5.6本节小结 185
10.6生成和响应事件 185
10.6.1 本节将讲述的内容 186
10.6.2 生成一个事件的步骤 186
10.6.3 声明事件 186
10.6.4 生成事件 187
10.6.5 响应事件的步骤 187
10.6.6 使用WithEvents声明一个对象变量 187
10.6.7 为一个对象设定对象变量 188
10.6.8对事件过程编程 188
10.6.10 响应类中的窗体或控件事件 189
10.6.9释放对象引用 189
10.6.11 本节小结 191
10.7编译项目 191
10.7.1本节将讲述的内容 191
10.7.2编译一个项目的步骤 191
10.7.3设定项目属性 192
10.7.4 编译项目 193
10.7.5本节小结 193
10.8十个最常见的类问题 193
10.9小结 198
10.10思考问题 199
第十一章创建类:附加技术 200
11.1定义集合 200
11.1.2创建集合类的步骤 201
11.1.1 本节将讲述的内容 201
11.1.3 定义一个集合类 202
11.1.4 向集合类中添加属性和方法 203
11.1.5设定一个缺省属性或方法 209
11.1.6使For Each…Next对于集合类有效 209
11.1.7与窗体协作 211
11.1.8创建一个集合类的快捷方式 213
11.1.9本节小结 214
11.2用文件保存类数据 215
11.2.1 本节内容 216
11.2.2保存和检索数据的步骤 216
11.2.3创建一个文件处理类 216
11.2.4读写集合 220
11.2.6利用窗体协作 223
11.2.5读和写一个对象的属性 223
11.2.7本节小结 224
11.3把窗体作为类使用 224
11.3.1本节将讲述的内容 225
11.3.2罩下的窗体 225
11.3.3利用模态对话框工作 226
11.3.4本节小结 230
11.4调试技术 230
11.4.1 本节将讲述的内容 230
11.4.2浏览代码 230
11.4.3运行应用程序 232
11.4.5添加调试码 233
11.4.6本节小结 235
11.5 10类最重要的技术问题 235
11.6思考问题 240
11.5小结 240
12.1接口、多态性和继承性的定义 241
12.1.1接口:属性和方法集 241
第十二章接口、多态性和继承性 241
12.1.2多态性:多个窗体的实现 244
12.1.3继承:再利用功能 245
12.2创建并实现接口 247
12.2.1 本节将讲解的内容 247
12.2.2创建并实现接口的步骤 248
12.2.3 设计接口 248
12.2.4创建接口 248
12.2.5 实现接口 249
12.2.6使用实现接口 252
12.3.1 本节将讲述的内容 256
12.3.2实现多态性 256
12.3多态性和接口 256
12.2.7本节小结 256
12.3.3多态性和集合 257
12.3.4本节小结 258
12.4继承性和接口 258
12.4.1 本节将讲述的内容 258
12.4.2通过接口获得继承性的步骤 258
12.4.3创建基类 259
12.4.4实现基类 260
12.4.5 声明基类的对象变量 261
12.4.6 由基类创建对象 261
12.4.7授权给基类 262
12.4.8使用基类接口 262
12.4.9本节小结 263
12.6思考问题 264
12.5小结 264
第十三章建立ActiveX组件 265
13.1什么是ActiveX? 265
13.1.1 什么是ActiveX DLL? 267
13.1.2什么是ActiveX EXE? 267
13.1.3什么是ActiveX控件? 268
13.1.4什么是ActiveX文档? 268
13.1.5什么是DCOM? 268
13.1.6什么是Remote Automation(远程自动化)? 269
13.2建立ActiveX代码组件 269
13.2.1 本节将讲述的内容 269
13.2.3设计ActiveX Code Component 270
13.2.2建立ActiveX Code Component的步骤 270
13.2.4创建ActiveX DLL或ActiveX EXE项目 271
13.2.5开发组件的代码 271
13.2.6设定类属性 274
13.2.7 设定ActiveX EXE和ActiveX DLL项目的一般属性 276
13.2.8 设定ActiveX EXE和 AetiveX DLL项目组件属性 278
13.2.9测试组件 279
13.2.10编译组件 285
13.2.11分布组件 285
13.2.11本节小结 286
13.3从Excel调用ActiveX组件 286
13.4建立ActiveX控件 287
13.4.1本节将讲述的内容 287
13.4.3设计ActiveX控件 288
13.4.4创建ActiveX控件项目 288
13.4.2建立ActiveX控件的步骤 288
13.4.5创建控件的用户接口 289
13.4.6开发控件代码 289
13.4.7 设置UserControl属性 290
13.4.8设定ActiveX控件项目属性 290
13.4.9测试控件 290
13.4.10编译控件 291
13.4.11分布控件 291
13.4.12本节小结 292
13.5建立ActiveX文档服务器 292
13.5.1本节将讲述的内容 293
13.5.2建立ActiveX文档服务器的步骤 293
13.5.3设计ActiveX文档服务器 294
13.5.4创建ActiveX文档服务器项目 294
13.5.5建立UserDocument 295
13.5.6开发ActiveX文档服务器的代码 296
13.5.7设定UserDocument属性 296
13.5.8设定ActiveX文档服务器的项目属性 297
13.5.9测试ActiveX文档 297
13.5.10编译ActiveX文档服务器 297
13.5.11分布ActiveX文档和服务器 298
13.5.12本节小结 300
13.6在建立和使用ActiveX时应做与不应做的事 300
13.7小结 302
13.8思考问题 303
第十四章开发数据库对象 304
14.1利用Visual Basic访问数据库 304
14.2“无代码”方式:使用数据控件 305
14.2.3创建窗体 306
14.2.4设定数据控件属性 306
14.2.2创建简单的数据库应用程序的步骤 306
14.2.1本节将讲述的内容 306
14.2.5 将控件捆绑于数据控件上 308
14.2.6使用VB Data Form Wizard 310
14.2.7本节小结 310
14.3使用数据控件和代码的途径 310
14.3.1本节将讲述的内容 311
14.3.2 向简单的数据库应用程序添加代码 311
14.3.3 连接表格 311
14.3.4控制记录处理 312
14.3.5 本节小结 314
14.4 OO方式:使用数据访问对象 314
14.4.1 本节将讲述的内容 315
14.4.2 创建DAO应用程序的步骤 315
14.4.3建立一般的Database类 316
14.4.4创建商务对象类 318
14.4.5 创建商务对象数据传递类 321
14.4.6创建窗体 329
14.4.7创建Sub Main过程 337
14.4.8本节小结 338
14.5小结 338
14.6思考问题 339
第十五章合成代码段 340
15.1使用资源文件 340
15.1.1创建资源文件 341
15.1.2 引用资源文件 341
15.2使用注册 342
15.3记录事件 344
15.4.2 声明Windows API函数或常量 345
15.4.1本节将讲述的内容 345
15.4利用Windows API扩展Visual Basic功能 345
15.4.3 使用API Viewer 346
15.4.4 调用Windows API函数 347
15.4.5使用AddressOf 347
15.5定义全局对象 348
15.6完成用户界面细节 349
15.6.1 本节将讲述的内容 349
15.6.2 定义窗口大小和位置 350
15.6.3 实现文本拖放 351
15.6.4 美化菜单 351
15.6.5 处理File菜单 351
15.6.6处理Edit菜单 355
15.6.7建立Window类 357
15.6.8添加弹出菜单 359
15.6.9添加工具栏 360
15.6.10 添加状态栏 362
15.6.11 定义应用程序图标 362
15.6.12在应用程序中提供帮助 362
15.7回顾开发策略 365
15.8创建应用程序框架 366
15.8.1 应用程序框架组件 366
15.8.2使用VB Application Wizard 367
15.9建立应用程序层次结构 367
15.10将窗体连接到层次结构上 368
15.11检测应用程序 369
15.11.1 检测提示 369
15.11.2优化提示 370
15.12提交测试或应用前的准备 371
15.13小结 372
15.14思考问题 373