C#面向对象程序设计

C#面向对象程序设计
作 者: 郑宇军
出版社: 人民邮电出版社
丛编项: 21世纪高等学校计算机规划教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: VC++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C#面向对象程序设计》作者简介

内容简介

本书以面向对象的软件工程思想为主线,细致深入地讲解了C#语言面向对象程序设计的方法和技巧,内容涵盖面向对象的基本概念、基于接口的设计、泛型程序设计方法、Windows和Web应用开发,以及数据库访问技术。全书提供了丰富的示例代码和课后习题,并通过一个贯穿全书的“旅行社管理系统”案例展现了如何运用C#语言和面向对象技术来进行实际软件系统开发。本书适合作为高等院校计算机及相关专业教材,也可供专业开发人员自学参考。示例源代码和教学课件可在人民邮电出版社教学服务与资源网(http://www.ptpedu.com.cn)上下载。

图书目录

第1章 面向对象程序设计概述 1

1.1 计算机程序设计语言 1

1.2 面向对象的基本概念 2

1.2.1 对象 2

1.2.2 类 2

1.2.3 消息和通信 3

1.2.4 关系 3

1.2.5 继承 4

1.2.6 多态性 4

1.2.7 接口和组件 4

1.3 面向对象的开发方法 5

1.3.1 面向对象的分析 5

1.3.2 面向对象的设计 6

1.4 案例研究——旅行社管理系统的分析与设计 7

小结 8

习题 9

第2章 C#程序和Visual Studio开发环境 10

2.1 C#语言和.NET技术简介 10

2.2 C#程序的基本结构 11

2.2.1 注释 11

2.2.2 命名空间 12

2.2.3 类型及其成员 12

2.2.4 程序主方法 13

2.2.5 程序集 13

2.3 Visual Studio开发环境 14

2.3.1 集成开发环境概述 14

2.3.2 创建控制台应用程序 15

2.3.3 创建和使用动态链接库程序 16

2.3.4 创建Windows应用程序 17

2.3.5 创建ASP.NET网站程序 18

小结 19

习题 19

第3章 C#语法基础 20

3.1 数据类型 20

3.1.1 简单值类型 20

3.1.2 复合值类型 22

3.1.3 类 24

3.1.4 数组 25

3.1.5 类型转换 28

3.2 操作符和表达式 31

3.2.1 算术操作符 31

3.2.2 自增和自减操作符 31

3.2.3 位操作符 32

3.2.4 赋值操作符 33

3.2.5 关系操作符 33

3.2.6 逻辑操作符 34

3.2.7 条件操作符 35

3.3 控制结构 35

3.3.1 选择结构 35

3.3.2 循环结构 39

3.3.3 跳转结构 42

3.4 案例研究——旅行社管理系统中的结构和枚举 44

小结 46

习题 46

第4章 类和对象 48

4.1 成员概述 48

4.1.1 成员种类 48

4.1.2 成员访问限制 49

4.1.3 静态成员和非静态成员 50

4.1.4 常量字段和只读字段 51

4.2 方法 52

4.2.1 方法的返回值 53

4.2.2 参数类型 53

4.2.3 方法的重载 56

4.3 类的特殊方法 57

4.3.1 构造函数和析构函数 57

4.3.2 属性 60

4.3.3 索引函数 62

4.3.4 操作符重载 64

4.4 this对象引用 66

4.5 常用类型 67

4.5.1 Object类 67

4.5.2 String类 67

4.5.3 StringBuilder类 73

4.5.4 Math类 74

4.5.5 DateTime结构 75

4.6 案例研究——旅行社业务类的实现 76

4.6.1 省份、城市和景点类 76

4.6.2 旅游线路和方案类 79

4.6.3 旅行团和游客类 82

小结 86

习题 86

第5章 继承和多态 88

5.1 继承 88

5.1.1 基类和派生类 88

5.1.2 隐藏基类成员 91

5.1.3 base关键字 93

5.1.4 对象的生命周期 93

5.2 多态性 95

5.2.1 虚拟方法和重载方法 95

5.2.2 抽象类和抽象方法 98

5.2.3 密封类和密封方法 101

5.3 案例研究——旅行社业务类的实现和精化 103

5.3.1 会员类 103

5.3.2 职员类 105

小结 111

习题 111

第6章 委托和事件 113

6.1 委托和方法 113

6.1.1 通过委托来封装方法 113

6.1.2 委托的加减运算 115

6.1.3 传递委托对象 115

6.1.4 Delegate类型成员 118

6.2 匿名方法 118

6.2.1 定义和调用匿名方法 118

6.2.2 外部变量 119

6.3 事件处理 120

6.3.1 委托发布和订阅 120

6.3.2 事件发布和订阅 122

6.3.3 使用EventHandler类 125

6.3.4 在事件中使用匿名方法 126

6.4 Windows控件事件概述 128

6.5 案例研究——旅行团基本事件处理 130

6.5.1 旅行团事件发布 130

6.5.2 旅行团事件处理 131

小结 134

习题 134

第7章 C# Windows应用程序基础 135

7.1 图形用户界面 135

7.1.1 图形用户界面概述 135

7.1.2 与界面有关的基础类型 136

7.2 Windows窗体、消息框和对话框 138

7.2.1 窗体 138

7.2.2 消息框 140

7.2.3 对话框 142

7.3 常用Windows控件 143

7.3.1 Control类 143

7.3.2 标签、文本框和数值框 145

7.3.3 按钮、复选框和单选按钮 148

7.3.4 组合框和列表框 149

7.3.5 容器控件 152

7.4 菜单栏、工具栏和状态栏 153

7.4.1 菜单栏 153

7.4.2 工具栏 155

7.4.3 状态栏 156

7.5 案例研究——旅行社信息窗体和登录窗体 157

7.5.1 旅行社对象及其信息窗体 157

7.5.2 系统用户及登录窗体 160

小结 162

习题 163

第8章 对象持久性——文件管理 164

8.1 文件和流 164

8.1.1 File类 164

8.1.2 使用文件流 166

8.1.3 FileInfo类 168

8.2 流的读写器 169

8.2.1 二进制读写器 169

8.2.2 文本读写器 170

8.3 文件对话框 173

8.4 基于文件的对象持久性 175

8.4.1 实现对象持久性 175

8.4.2 .NET中的自动持久性支持 178

8.5 案例研究——旅行社信息和系统用户的持久性 182

8.5.1 旅行社对象的持久性 182

8.5.2 系统用户对象的持久性 183

小结 185

习题 185

第9章 异常处理 187

9.1 异常的基本概念 187

9.2 异常处理结构 189

9.2.1 try-catch结构 189

9.2.2 try-catch-finally结构 191

9.2.3 try-finally结构 192

9.3 异常的捕获和传播 193

9.3.1 传播过程 193

9.3.2 Exception和异常信息 194

9.3.3 异常层次结构 196

9.4 自定义异常 199

9.4.1 主动引发异常 199

9.4.2 自定义异常类型 200

9.5 使用异常的指导原则 204

9.6 案例研究——旅行社管理系统中的异常处理 205

9.6.1 文件I/O异常处理 205

9.6.2 旅行社业务异常 206

小结 208

习题 208

第10章 基于接口的程序设计 210

10.1 接口的定义和使用 210

10.1.1 接口的定义 210

10.1.2 接口的实现 211

10.2 接口与多态 212

10.2.1 通过接口实现多态性 212

10.2.2 区分接口方法和对象方法 214

10.3 接口和多继承 217

10.3.1 多继承概述 217

10.3.2 基于接口的多继承 218

10.3.3 解决二义性 222

10.4 接口与集合 225

10.4.1 集合型接口及其实现 225

10.4.2 列表、队列和堆栈 226

10.4.3 自定义集合类型 228

10.5 案例研究——旅行社管理系统中的集合类型 230

10.5.1 职员列表与数据绑定 230

10.5.2 使用自定义集合 234

小结 239

习题 239

第11章 泛型程序设计 241

11.1 为什么要使用泛型 241

11.2 泛型类 243

11.2.1 泛型类的定义和使用 243

11.2.2 使用“抽象型”变量 244

11.2.3 使用多个类型参数 245

11.2.4 类型参数与标识 245

11.2.5 泛型的静态成员 247

11.3 类型限制 249

11.3.1 主要限制 249

11.3.2 次要限制 250

11.3.3 构造函数限制 251

11.4 泛型继承 251

11.5 泛型接口 254

11.5.1 泛型接口的定义 254

11.5.2 泛型接口的实现 255

11.5.3 避免二义性 258

11.5.4 泛型接口与泛型集合 259

11.6 泛型方法 264

11.6.1 泛型方法的定义和使用 264

11.6.2 泛型方法的重载 265

11.6.3 泛型方法与委托 268

11.7 案例研究—旅行社管理系统中的泛型集合 270

11.7.1 使用泛型列表ListT 270

11.7.2 泛型优先级队列 273

小结 275

习题 275

第12章 C#中的泛型模式:可空类型和迭代器 277

12.1 可空类型 277

12.1.1 值类型与null值 277

12.1.2 使用可空类型 280

12.1.3 可空类型转换 284

12.1.4 操作符提升 285

12.2 遍历和迭代 286

12.2.1 可遍历类型和接口 286

12.2.2 迭代器 288

12.2.3 迭代器代码 291

12.2.4 使用多个迭代器 293

12.2.5 自我迭代 295

12.3 案例研究——旅行社管理系统中的可空值与迭代器 297

12.3.1 旅行社业务对象中的可空值 297

12.3.2 遍历游客集合 298

小结 299

习题 300

第13章 C# Windows应用程序进阶 301

13.1 高级Windows控件 301

13.1.1 时间和日期控件 301

13.1.2 滑块、进度条和滚动条 304

13.1.3 图片控件 306

13.1.4 列表视图和树形视图 308

13.1.5 数据网格控件 313

13.2 绘图和打印 315

13.2.1 图形设备、画笔和画刷 315

13.2.2 打印 320

13.3 案例研究——完善旅行社管理系统 322

13.3.1 职员信息显示与打印 322

13.3.2 构建系统主界面 323

13.3.3 新建、修改和删除业务对象 325

小结 329

习题 329

第14章 C# Web应用程序基础 331

14.1 ASP.NET技术概述 331

14.2 ASP.NET Web窗体和基本对象 332

14.2.1 Web窗体 332

14.2.2 请求和响应 333

14.2.3 服务器对象 336

14.2.4 应用程序、会话、视图和缓存 337

14.3 HTML控件 339

14.3.1 从HTML元素到HTML控件 339

14.3.2 HtmlControl类型 340

14.3.3 HtmlAnchor、HtmlTextArea和HtmlSelect控件 342

14.3.4 HtmlTable控件 344

14.3.5 HtmlInputControl控件 346

14.4 Web服务器控件 349

14.4.1 标准窗体控件 350

14.4.2 验证控件 355

14.5 案例研究——旅游信息查询网站 356

14.5.1 网站首页 356

14.5.2 旅行团方案页面 358

14.5.3 景点信息页面 359

14.5.4 景点导航 360

小结 361

习题 361

第15章 对象持久性——访问关系数据库 362

15.1 关系数据库概述 362

15.1.1 关系表和对象 362

15.1.2 关系数据库语言SQL 364

15.2 ADO.NET数据访问模型 367

15.2.1 非连接类型 367

15.2.2 连接类型 372

15.3 案例研究——旅行社管理系统的数据库解决方案 376

15.3.1 数据表格设计 376

15.3.2 数据库连接管理 377

15.3.3 实现业务对象的数据库存取 378

15.3.4 终端数据访问 382

小结 383

习题 383

参考文献 384