《.NET 2.0面向对象编程揭秘》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:金旭亮著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:7121039753
  • 页数:638 页
图书介绍:本书以面向对象技术为主线,从跨语言的角度介绍C# 2.0与Visual Basic 2005的语言特性,深入剖析了CLR的内部运行机理;同时,详细介绍Visual Studio 2005的新特性,并展示出这些特性是如何应用于开发实践的,从而帮助读者用好这一开发工具;本书还深入剖析了一些较复杂的.NET技术,比如委托、异步调用、事件驱动、多线程等,可以帮助读者提升编程技能。本书在写作上追求深入浅出,易于自学,理论联系实际,适合于拥有一定开发经验和计算机理论基础的程序员,或在校的计算机专业高年级学生及研究生阅读。

第1篇 认识.NET 2.0与Visual Studio 2005

第1章 .NET与面向对象技术 2

1.1 .NET Framework简介 3

1.1.1 .NET Framework与Windows操作系统 3

1.1.2 .NET Framework与Visual Studio 5

1.1.3 .NET Framework的构成 7

1.2 .NET编程原理 10

1.2.1 搭建.NET软件运行和开发环境 10

1.2.2 手工开发第一个.NET程序 10

1.2.3 .NET程序的开发与运行过程 12

1.2.4 托管代码执行的过程 15

1.2.5 混合语言开发原理 15

1.3 面向对象技术简介 16

1.3.1 引例 16

1.3.2 结构化分析过程 17

1.3.3 面向对象分析过程 21

1.3.4 四种基本的面向对象特性 23

1.3.5 面向对象软件开发过程 26

第2章 Visual Studio 2005使用速成 28

2.1 安装与版本说明 28

2.2 熟悉Visual Studio 2005文档 29

2.2.1 出于系统学习目的使用Visual Studio 2005文档 30

2.2.2 在Visual Studio 2005文档中查找资料 32

2.2.3 使用互联网搜索信息 33

2.3 Visual Studio 2005项目类型 34

2.3.1 控制台应用程序 34

2.3.2 Windows应用程序 36

2.3.3 类库 36

2.4 解决方案资源管理器的使用 37

2.4.1 解决方案与项目 42

2.4.2 向项目中添加文件 44

2.4.3 类视图 44

2.5 代码编辑器的使用 45

2.5.1 在窗体设计器与代码编辑器中切换 46

2.5.2 使用代码折叠分块管理代码 46

2.5.3 快速定位代码 46

2.5.4 记住未完成的任务 49

2.5.5 给特定的事件编码 50

2.6 编译和运行程序 54

2.6.1 程序启动对象的确定 55

2.6.2 设计模式、运行模式与调试模式 56

2.6.3 Debug与Release编译模式 58

2.7 学会程序调试方法 59

2.7.1 软件中存在的三种错误类型 59

2.7.2 使用Visual Studio 2005调试程序 62

2.7.3 条件编译 66

2.8 .NET程序的部署 69

2.8.1 部署前的准备工作 70

2.8.2 了解.NET程序正确运行的条件 71

2.8.3 .NET程序部署方式 72

2.9 RAD编程方式简介 73

第2篇 面向对象理论及应用 78

第3章 类与对象 78

3.1 类与对象的概念 78

3.2 类的编写 83

3.2.1 字段 84

3.2.2 类的实例方法 85

3.2.3 方法的可变参数与可选参数 88

3.2.4 方法重载 90

3.2.5 运算符重载 92

3.2.6 类的静态成员 94

3.2.7 属性 100

3.2.8 类的可访问性 105

3.2.9 模块 108

3.3 深入理解对象内存模型 109

3.3.1 C#中的内置数据类型 110

3.3.2 使用值类型变量与引用类型变量 112

3.3.3 函数参数的传送方式 123

3.3.4 对象的创建与销毁 128

3.3.5 特殊的关键字this 132

3.3.6 使用字符串对象 136

3.3.7 深入了解CLR对象管理机制 142

3.4 基于.NET的组件化开发 147

3.4.1 类库项目 148

3.4.2 命名空间 151

3.4.3 程序集 153

3.4.4 Partial类 157

3.4.5 组件化开发理论基础 159

第4章 继承、接口与多态 165

4.1 继承 165

4.1.1 继承的概念 165

4.1.2 类型转换 168

4.1.3 方法重载、隐藏与虚方法调用 170

4.1.4 再谈值类型 178

4.1.5 继承条件下的对象创建与销毁 182

4.2 抽象类与接口 188

4.2.1 抽象类 189

4.2.2 接口 191

4.3 多态 199

4.3.1 继承多态 199

4.3.2 接口多态 203

4.4 类的可视化设计 205

4.4.1 Visual Studio 2005的可视化类设计器 205

4.4.2 类的设计方法小结 208

4.5 再探CLR对象模型 209

4.5.1 字段 209

4.5.2 方法 214

第5章 在编程中灵活应用对象 222

5.1 对象的集合与对象的组合 222

5.1.1 对象集合 222

5.1.2 组合对象 232

5.1.3 数据结构 238

5.2 多窗体编程原理 243

5.2.1 窗体对象与窗体类 243

5.2.2 多窗体间的相互访问 248

5.3 对象比较 254

5.4 对象复制 259

5.4.1 浅复制与深复制 259

5.4.2 编程实现“深复制” 261

5.4.3 对象复制小结 262

5.5 对象的保存与重建 263

5.5.1 对象序列化与流 263

5.5.2 在编程中应用序列化技术 266

第6章 异常处理 273

6.1 异常处理的概念 273

6.2 编程实现异常处理 275

6.2.1 try、catch和finally 275

6.2.2 CLR结构化异常处理原理 277

6.3 编写健壮的软件 281

6.3.1 编写高健壮性程序三原则 282

6.3.2 创建自己的异常处理系统 283

第7章 泛型编程 285

7.1 了解泛型 285

7.2 在开发中使用泛型 288

7.2.1 使用泛型集合List 288

7.2.2 编写泛型方法 295

7.2.3 定义和使用泛型类 296

7.3 泛型编程总结 298

第8章 经典面向对象编程实例分析 300

8.1 四则运算器程序概述 300

8.2 建立数学模型 302

8.2.1 四则运算表达式 302

8.2.2 四则运算表达式解析算法分析 302

8.2.3 算法的面向对象设计 304

8.3 软件体系结构设计方案 312

8.3.1 确定软件处理流程 312

8.3.2 软件可扩展性 313

8.3.3 设计用户界面 314

8.4 软件开发过程 317

8.4.1 开发次序的确定 317

8.4.2 迭代的软件开发过程 318

8.4.3 小结 319

第3篇 使用Visual Studio 2005软件工程特性提升开发效率 322

第9章 写出高质量的代码 322

9.1 高质量设计与代码的产生 322

9.2 典型有缺陷程序代码实例分析 326

9.3 Visual Studio 2005的代码自动化开发特性 330

9.3.1 使用Intellisense 330

9.3.2 插入代码段 334

9.3.3 定位类或方法的定义 335

9.3.4 查找标识符的所有引用 335

9.3.5 代码重构 335

9.4 静态代码分析 341

9.4.1 在Visual Studio 2005中进行静态代码分析 341

9.4.2 利用代码分析特性学习编写优质代码 342

第10章 程序性能分析 345

10.1 程序为何运行得如此之慢 345

10.2 使用程序性能分析器 346

10.2.1 读懂示例程序代码 346

10.2.2 对示例程序进行性能分析 348

10.2.3 优化代码 354

第11章 单元测试 362

11.1 软件测试概论 362

11.1.1 软件测试的含义与必要性 362

11.1.2 怎样进行软件测试 363

11.1.3 面向对象软件的测试 364

11.2 使用Visual Studio 2005进行单元测试 365

11.2.1 准备被测试的类 365

11.2.2 自动创建单元测试代码框架 366

11.2.3 运行测试项目并修正代码错误 370

11.2.4 测试类的私有方法 371

11.2.5 了解测试的代码覆盖率 375

11.3 在软件开发中应用单元测试 376

11.3.1 从数据文件中提取测试用例 378

11.3.2 使用数据库存取测试用例 380

第4篇 基于.NET Framework 2.0开发 384

第12章 My命名空间 384

12.1 My概述 385

12.2 在编程中使用My 386

12.2.1 显示计算机信息 386

12.2.2 使用资源 387

12.2.3 访问程序配置参数信息 392

12.3 Visual Basic 2005应用程序模型 395

12.3.1 窗体的按名访问 395

12.3.2 Windows应用程序框架 396

12.3.3 在启动窗体上显示系统初始化信息 401

第13章 委托、事件驱动与异步调用 408

13.1 委托 408

13.1.1 理解委托的概念 408

13.1.2 委托的组合与分解 410

13.1.3 委托技术内幕 412

13.1.4 委托调用链 415

13.1.5 在编程中使用委托 418

13.2 事件驱动 425

13.2.1 .NET Framework的事件处理机制 425

13.2.2 事件应用实例 434

13.2.3 用事件驱动模式开发图书借阅系统 444

13.3 异步编程 451

13.3.1 程序的同步执行和异步执行 451

13.3.2 异步编程模式揭秘 454

13.3.3 使用轮询等待异步调用完成 456

13.3.4 异步回调 457

13.3.5 异步调用中的异常与同步 459

13.3.6 异步编程小结 462

第14章 进程与线程 463

14.1 进程与线程的基础知识 463

14.1.1 进程 463

14.1.2 线程 466

14.1.3 CLR如何管理进程与线程 467

14.2 进程的启动与终止 475

14.2.1 进程启动 475

14.2.2 中止一个进程 483

14.3 进程通信 484

14.3.1 使用剪贴板传送对象 484

14.3.2 使用FileSystemWatcher实现进程同步 491

14.3.3 通过COM接口控制进程 496

14.4 多线程编程基础 501

14.4.1 什么是多线程 502

14.4.2 线程的创建、启动和停止 504

14.5 存取线程数据 513

14.5.1 向线程函数传送信息 513

14.5.2 多线程回调 518

14.6 线程同步 520

14.6.1 操作系统如何调度线程 520

14.6.2 死锁与数据存取错误 521

14.6.3 使用监视器Monitor 527

14.6.4 使用互斥同步对象Mutex 532

14.6.5 使用信号量对象Semaphore 537

14.6.6 使用线程同步事件类EventWaitHandle 541

14.6.7 使用线程池 544

14.6.8 线程同步方法小结 547

14.7 多线程中的可视化控件 548

14.7.1 多线程访问可视化控件的基本方法 548

14.7.2 编写线程安全的控件 551

14.7.3 可视化控件间的线程同步 554

14.7.4 多线程启动屏幕的设计 560

14.7.5 使用BackgroundWorker组件 568

第15章 反射技术及其应用 574

15.1 反射基础 575

15.1.1 什么是反射 575

15.1.2 .NET可执行应用程序的结构 575

15.2 数据类型的奥秘——Type类 578

15.2.1 创建Type对象 579

15.2.2 判断对象类型 581

15.2.3 查询成员信息 581

15.3 动态对象创建与方法调用 584

15.3.1 动态对象创建 585

15.3.2 动态方法调用 593

15.4 反射技术的应用实例 595

15.4.1 嵌入式DLL的动态执行 595

15.4.2 软插件系统的开发 598

附录A C# 2.0与Visual Basic 2005 609

附录B MSIL基础教程 622

附录C Visual Studio Team System:设计和运行测试的概述 632

本书缩略语 635

参考文献 636

后记 637