第1章 面向对象程序设计概述 1
计算机程序设计语言 1
面向对象的基本概念 2
对象 2
类 2
消息和通信 3
关系 3
继承 4
多态性 4
接口和组件 4
面向对象的开发方法 5
面向对象的分析 5
面向对象的设计 6
案例研究——旅行社管理系统的分析与设计 7
小结 8
习题 9
第2章C#程序和Visual Studio开发环境 10
C#语言和.NET技术简介 10
C#程序的基本结构 11
注释 11
命名空间 12
类型及其成员 12
程序主方法 13
程序集 13
Visual Studio开发环境 14
集成开发环境概述 14
创建控制台应用程序 15
创建和使用动态链接库程序 16
创建Windows应用程序 17
创建ASP.NET网站程序 18
小结 19
习题 19
第3章C#语法基础 20
数据类型 20
简单值类型 20
复合值类型 22
类 24
数组 25
类型转换 28
操作符和表达式 31
算术操作符 31
自增和自减操作符 31
位操作符 32
赋值操作符 33
关系操作符 33
逻辑操作符 34
条件操作符 35
控制结构 35
选择结构 35
循环结构 39
跳转结构 42
案例研究——旅行社管理系统中的结构和枚举 44
小结 46
习题 46
第4章 类和对象 48
成员概述 48
成员种类 48
成员访问限制 49
静态成员和非静态成员 50
常量字段和只读字段 51
方法 52
方法的返回值 53
参数类型 53
方法的重载 56
类的特殊方法 57
构造函数和析构函数 57
属性 60
索引函数 62
操作符重载 64
this对象引用 66
常用类型 67
Object类 67
String类 67
StringBuilder类 73
Math类 74
DateTime结构 75
案例研究——旅行社业务类的实现 76
省份、城市和景点类 76
旅游线路和方案类 79
旅行团和游客类 82
小结 86
习题 86
第5章 继承和多态 88
继承 88
基类和派生类 88
隐藏基类成员 91
base关键字 93
对象的生命周期 93
多态性 95
虚拟方法和重载方法 95
抽象类和抽象方法 98
密封类和密封方法 101
案例研究——旅行社业务类的实现和精化 103
会员类 103
职员类 105
小结 111
习题 111
第6章 委托和事件 113
委托和方法 113
通过委托来封装方法 115
委托的加减运算 115
传递委托对象 115
Delegate类型成员 118
匿名方法 118
定义和调用匿名方法 118
外部变量 119
事件处理 120
委托发布和订阅 120
事件发布和订阅 122
使用EventHandler类 125
在事件中使用匿名方法 126
Windows控件事件概述 128
案例研究——旅行团基本事件处理 130
旅行团事件发布 130
旅行团事件处理 131
小结 134
习题 134
第7章C#Windows应用程序基础 135
图形用户界面 135
图形用户界面概述 135
与界面有关的基础类型 136
Windows窗体、消息框和对话框 138
窗体 138
消息框 140
对话框 142
常用Windows控件 143
Conrtrol类 143
标签、文本框和数值框 145
按钮、复选框和单选按钮 148
组合框和列表框 149
容器控件 152
菜单栏、工具栏和状态栏 153
菜单栏 153
工具栏 155
状态栏 156
案例研究——旅行社信息窗体和登录窗体 157
旅行社对象及其信息窗体 157
系统用户及登录窗体 160
小结 162
习题 163
第8章 对象持久性——文件管理 164
文件和流 164
File类 164
使用文件流 166
FileInfo类 168
流的读写器 169
二进制读写器 169
文本读写器 170
文件对话框 173
基于文件的对象持久性 175
实现对象持久性 175
.NET中的自动持久性支持 178
案例研究——旅行社信息和系统用户的持久性 182
旅行社对象的持久性 182
系统用户对象的持久性 183
小结 185
习题 185
第9章 异常处理 187
异常的基本概念 187
异常处理结构 189
try-catch结构 189
try-catch-finally结构 191
try-finally结构 192
异常的捕获和传播 193
传播过程 193
Exception和异常信息 194
异常层次结构 196
自定义异常 199
主动引发异常 199
自定义异常类型 200
使用异常的指导原则 204
案例研究——旅行社管理系统中的异常处理 205
文件I/O异常处理 205
旅行社业务异常 206
小结 208
习题 208
第10章 基于接口的程序设计 210
接口的定义和使用 210
接口的定义 210
接口的实现 211
接口与多态 212
通过接口实现多态性 212
区分接口方法和对象方法 214
接口和多继承 217
多继承概述 217
基于接口的多继承 218
解决二义性 222
接口与集合 225
集合型接口及其实现 225
列表、队列和堆栈 226
自定义集合类型 228
案例研究——旅行社管理系统中的集合类型 230
职员列表与数据绑定 230
使用自定义集合 234
小结 239
习题 239
第11章 泛型程序设计 241
为什么要使用泛型 241
泛型类 243
泛型类的定义和使用 243
使用“抽象型”变量 244
使用多个类型参数 245
类型参数与标识 245
泛型的静态成员 247
类型限制 249
主要限制 249
次要限制 250
构造函数限制 251
泛型继承 251
泛型接口 254
泛型接口的定义 254
泛型接口的实现 255
避免二义性 258
泛型接口与泛型集合 259
泛型方法 264
泛型方法的定义和使用 264
泛型方法的重载 265
泛型方法与委托 268
案例研究——旅行社管理系统中的泛型集合 270
使用泛型列表List<T> 270
泛型优先级队列 273
小结 275
习题 275
第12章C#中的泛型模式:可空类型和迭代器 277
可空类型 277
值类型与null值 277
使用可空类型 280
可空类型转换 284
操作符提升 285
遍历和迭代 286
可遍历类型和接口 286
迭代器 288
迭代器代码 291
使用多个迭代器 293
自我迭代 295
案例研究——旅行社管理系统中的可空值与迭代器 297
旅行社业务对象中的可空值 297
遍历游客集合 298
小结 299
习题 300
第13章C#Windows应用程序进阶 301
高级Windows控件 301
时间和日期控件 301
滑块、进度条和滚动条 304
图片控件 306
列表视图和树形视图 308
数据网格控件 313
绘图和打印 315
图形设备、画笔和画刷 315
打印 320
案例研究——完善旅行社管理系统 322
职员信息显示与打印 322
构建系统主界面 323
新建、修改和删除业务对象 325
小结 329
习题 329
第14章C#Web应用程序基础 331
ASP.NET技术概述 331
ASP.NETWeb窗体和基本对象 332
Web窗体 332
请求和响应 333
服务器对象 336
应用程序、会话、视图和缓存 337
HTML控件 339
从HTML元素到HTML控件 339
HtmlControl类型 340
HtmlAnchor、HtmlTextArea和HtmlSelect控件 342
HtmlTable控件 344
HtmlInputControl控件 346
Web服务器控件 349
标准窗体控件 350
验证控件 355
案例研究——旅游信息查询网站 356
网站首页 356
旅行团方案页面 358
景点信息页面 359
景点导航 360
小结 361
习题 361
第15章 对象持久性——访问关系数据库 362
关系数据库概述 362
关系表和对象 362
关系数据库语言SQL 364
ADO.NET数据访问模型 367
非连接类型 367
连接类型 372
案例研究——旅行社管理系统的数据库解决方案 376
数据表格设计 376
数据库连接管理 377
实现业务对象的数据库存取 378
终端数据访问 382
小结 383
习题 383
参考文献 384