N
newdream
Unregistered / Unconfirmed
GUEST, unregistred user!
[h4]我的新书《Delphi面向对象编程思想》完稿,以下是全书目录:[/h4][]
前言 3
目 录 4
正文 10
------------------------------------------------------------
第1章 建立面向对象的新思维 11
1.1 导论 11
1.1.1 历史背景 11
1.1.2 面向过程和面向对象 14
1.1.3 OO的技术背景和特点 16
1.1.4 为什么要使用OOP? 17
1.2 面向对象的基本概念 19
1.2.1 类和对象 19
1.2.2 封装 21
1.2.3 继承 22
1.2.4 多态性 23
1.3 面向对象建模和UML 23
1.3.1 面向对象建模 23
1.3.2 UML是什么 24
1.3.3 Delphi面向对象建模工具ModelMaker 26
1.3.4 UML建模示例(ModelMaker实现) 29
------------------------------------------------------------
第2章 Delphi对象模型 39
2.1 类和对象 39
2.1.1 类 39
2.1.2 类成员 40
2.1.3 对象 41
2.1.4 类操作符 42
2.2 方法 43
2.2.1 什么是方法 43
2.2.2 方法的分类 44
2.2.3 方法的绑定机制 49
2.3 可见性 54
2.4 属性 56
2.4.1 什么是属性 56
2.4.2 使用数组属性 58
2.5 异常 59
2.5.1 异常是一种特殊的对象 59
2.5.2 如何捕捉和处理异常 60
------------------------------------------------------------
第3章 理解对象 63
3.1 对象的本质 63
3.1.1 什么是对象 63
3.1.2 对象在哪里 65
3.1.3 对象引用和类引用 68
3.1.4 对象的传递 73
3.1.5 对象的克隆 75
3.2 对象的生死 80
3.2.1 对象的构造和析构 80
3.2.2 如何动态生成对象 85
3.2.3 对象的生命期 93
3.2.4 组件对象生命期管理的误区 94
3.3 对象的关系 100
3.3.1 对象、类和类型 101
3.3.2 对象之间的关系基础 104
3.3.3 对象的继承与合成 105
3.3.4 依赖关系和合作关系 123
------------------------------------------------------------
第4章 使用对象 133
4.1 应用程序和界面对象 133
4.1.1 Windows应用程序和Application对象 133
4.1.2 窗体和对话框 134
4.1.3 界面对象和UI框架 140
4.2 使用VCL组件对象 147
4.2.1 组件和控件 147
4.2.2 组件对象使用实例 147
4.2.3 组件使用的误区 159
4.3 使用对象集 163
4.3.1 对象数组 163
4.3.2 容器对象 172
4.4 使用对象参数 186
4.5 组件开发中的面向对象思考 196
4.5.1 开发VCL组件 197
4.5.2 继承 199
4.5.3 合成与嵌入 205
4.5.4 链接 210
------------------------------------------------------------
第5章 深入多态 213
5.1 认识多态 213
5.2 重载与覆盖 214
5.2.1 重载(Overload) 214
5.2.2 覆盖(Override) 215
5.3 虚方法与动态方法 223
5.4 抽象类和抽象方法 225
5.5 类的类型转换 228
5.5.1 向上转型 229
5.5.2 向下转型 230
5.6 多态和面向对象编程 237
5.7 用VCL的抽象类实现多态 240
------------------------------------------------------------
第6章 剖析接口 245
6.1 认识接口 245
6.1.1 什么是接口 245
6.1.2 使用对象 246
6.1.3 接口的引入 246
6.1.4 接口和多态性 248
6.2 使用接口 248
6.2.1 定义接口 249
6.2.2 实现接口 251
6.3 接口与抽象类 259
6.4 接口关系 265
6.4.1 类、对象和接口的关系 266
6.4.2 接口引用关系 266
6.4.3 互相依赖的接口 267
6.4.4 接口与类型转换 268
6.5 接口和多重继承 270
6.5.1 什么是多重继承 270
6.5.2 利用接口实现多重继承 271
6.5.3 有侧重的多重继承 274
6.5.4 多重继承的深入讨论 280
6.6 接口和面向对象编程 284
6.7 接口的其他用法探索 296
------------------------------------------------------------
第7章 研究封装 304
7.1 什么是封装 304
7.1.1 封装的概念 304
7.1.2 切割和封装的原则 305
7.2 逻辑上的封装 307
7.2.1 类的封装 307
7.2.2 数据的封装 311
7.3 物理上的封装 325
7.3.1 物理封装和动态链接 325
7.3.2 用DLL封装对象 330
7.3.3 用COM/COM+封装对象 339
------------------------------------------------------------
第8章 实现界面和业务的分离 348
8.1 关于界面和业务的分离 348
8.1.1 从封装到界面和业务分离 348
8.1.2 从界面和业务分离到分布式多层体系结构 349
8.2 界面和业务分离的演化实例 351
8.2.1 一个典型的RAD程序 351
8.2.2 界面和业务的逻辑分离 355
8.2.3 界面和业务的物理分离 363
8.2.4 界面和业务的空间分离 369
8.3 Web Service:实现业务跨平台 378
8.3.1 Web Service是一种部署在Web上的对象 378
8.3.2 创建SOAP Server应用程序 380
8.3.3 用Web Service封装业务对象 382
8.3.4 创建调用Web Service的客户端程序 391
8.3.5 Web Service类型的转换和部署 395
8.4 Web Form:实现界面跨平台 402
8.4.1 IntraWeb:Delphi的Web Form解决方案 403
8.4.2 创建一个Web Form程序 404
8.4.3 IntraWeb和业务对象整合 415
8.4.4 IntraWeb和Web Service整合 424
------------------------------------------------------------
第9章 深入浅出VCL(上) 432
9.1 Delphi对象的基础:VCL 432
9.1.1 VCL的层次结构 432
9.1.2 组件的继承关系 434
9.2 TObject:所有对象的根 435
9.3 TPersistent:持久对象 440
9.4 TComponent:组件对象 444
9.4.1 概述 444
9.4.2 属性 447
9.4.3 方法 451
9.4.4 组件的从属关系 453
9.5 TApplication:应用程序对象 455
9.5.1 概述 455
9.5.2 属性 456
9.5.3 方法 460
9.5.4 事件 461
------------------------------------------------------------
第10章 深入浅出VCL(下) 464
10.1 TThread:线程对象 464
10.1.1 概述 464
10.1.2 线程对象的封装和运行机制 464
10.1.3 使用线程对象 471
10.2 TStrings、TList、TCollection:列表与集合 481
10.2.1 TStrings与TStringList 481
10.2.2 TList 486
10.2.3 TCollection 487
10.3 TStream:流对象与流化存储技术 493
10.3.1 TStream类及其派生类。 493
10.3.2 TFileStream与TMemString 496
10.3.3 TCompressionStream和TDecompressionStream 497
10.4 VCL的可视化工作机制 501
10.4.1 TFiler类、TReader类和TWriter类 501
10.4.2 TStream和组件属性的存取 503
10.4.3 Object Inspector的工作原理 508
------------------------------------------------------------
附录 513
1. 附录A 513
2. 附录B 528
参考文献: 542
前言 3
目 录 4
正文 10
------------------------------------------------------------
第1章 建立面向对象的新思维 11
1.1 导论 11
1.1.1 历史背景 11
1.1.2 面向过程和面向对象 14
1.1.3 OO的技术背景和特点 16
1.1.4 为什么要使用OOP? 17
1.2 面向对象的基本概念 19
1.2.1 类和对象 19
1.2.2 封装 21
1.2.3 继承 22
1.2.4 多态性 23
1.3 面向对象建模和UML 23
1.3.1 面向对象建模 23
1.3.2 UML是什么 24
1.3.3 Delphi面向对象建模工具ModelMaker 26
1.3.4 UML建模示例(ModelMaker实现) 29
------------------------------------------------------------
第2章 Delphi对象模型 39
2.1 类和对象 39
2.1.1 类 39
2.1.2 类成员 40
2.1.3 对象 41
2.1.4 类操作符 42
2.2 方法 43
2.2.1 什么是方法 43
2.2.2 方法的分类 44
2.2.3 方法的绑定机制 49
2.3 可见性 54
2.4 属性 56
2.4.1 什么是属性 56
2.4.2 使用数组属性 58
2.5 异常 59
2.5.1 异常是一种特殊的对象 59
2.5.2 如何捕捉和处理异常 60
------------------------------------------------------------
第3章 理解对象 63
3.1 对象的本质 63
3.1.1 什么是对象 63
3.1.2 对象在哪里 65
3.1.3 对象引用和类引用 68
3.1.4 对象的传递 73
3.1.5 对象的克隆 75
3.2 对象的生死 80
3.2.1 对象的构造和析构 80
3.2.2 如何动态生成对象 85
3.2.3 对象的生命期 93
3.2.4 组件对象生命期管理的误区 94
3.3 对象的关系 100
3.3.1 对象、类和类型 101
3.3.2 对象之间的关系基础 104
3.3.3 对象的继承与合成 105
3.3.4 依赖关系和合作关系 123
------------------------------------------------------------
第4章 使用对象 133
4.1 应用程序和界面对象 133
4.1.1 Windows应用程序和Application对象 133
4.1.2 窗体和对话框 134
4.1.3 界面对象和UI框架 140
4.2 使用VCL组件对象 147
4.2.1 组件和控件 147
4.2.2 组件对象使用实例 147
4.2.3 组件使用的误区 159
4.3 使用对象集 163
4.3.1 对象数组 163
4.3.2 容器对象 172
4.4 使用对象参数 186
4.5 组件开发中的面向对象思考 196
4.5.1 开发VCL组件 197
4.5.2 继承 199
4.5.3 合成与嵌入 205
4.5.4 链接 210
------------------------------------------------------------
第5章 深入多态 213
5.1 认识多态 213
5.2 重载与覆盖 214
5.2.1 重载(Overload) 214
5.2.2 覆盖(Override) 215
5.3 虚方法与动态方法 223
5.4 抽象类和抽象方法 225
5.5 类的类型转换 228
5.5.1 向上转型 229
5.5.2 向下转型 230
5.6 多态和面向对象编程 237
5.7 用VCL的抽象类实现多态 240
------------------------------------------------------------
第6章 剖析接口 245
6.1 认识接口 245
6.1.1 什么是接口 245
6.1.2 使用对象 246
6.1.3 接口的引入 246
6.1.4 接口和多态性 248
6.2 使用接口 248
6.2.1 定义接口 249
6.2.2 实现接口 251
6.3 接口与抽象类 259
6.4 接口关系 265
6.4.1 类、对象和接口的关系 266
6.4.2 接口引用关系 266
6.4.3 互相依赖的接口 267
6.4.4 接口与类型转换 268
6.5 接口和多重继承 270
6.5.1 什么是多重继承 270
6.5.2 利用接口实现多重继承 271
6.5.3 有侧重的多重继承 274
6.5.4 多重继承的深入讨论 280
6.6 接口和面向对象编程 284
6.7 接口的其他用法探索 296
------------------------------------------------------------
第7章 研究封装 304
7.1 什么是封装 304
7.1.1 封装的概念 304
7.1.2 切割和封装的原则 305
7.2 逻辑上的封装 307
7.2.1 类的封装 307
7.2.2 数据的封装 311
7.3 物理上的封装 325
7.3.1 物理封装和动态链接 325
7.3.2 用DLL封装对象 330
7.3.3 用COM/COM+封装对象 339
------------------------------------------------------------
第8章 实现界面和业务的分离 348
8.1 关于界面和业务的分离 348
8.1.1 从封装到界面和业务分离 348
8.1.2 从界面和业务分离到分布式多层体系结构 349
8.2 界面和业务分离的演化实例 351
8.2.1 一个典型的RAD程序 351
8.2.2 界面和业务的逻辑分离 355
8.2.3 界面和业务的物理分离 363
8.2.4 界面和业务的空间分离 369
8.3 Web Service:实现业务跨平台 378
8.3.1 Web Service是一种部署在Web上的对象 378
8.3.2 创建SOAP Server应用程序 380
8.3.3 用Web Service封装业务对象 382
8.3.4 创建调用Web Service的客户端程序 391
8.3.5 Web Service类型的转换和部署 395
8.4 Web Form:实现界面跨平台 402
8.4.1 IntraWeb:Delphi的Web Form解决方案 403
8.4.2 创建一个Web Form程序 404
8.4.3 IntraWeb和业务对象整合 415
8.4.4 IntraWeb和Web Service整合 424
------------------------------------------------------------
第9章 深入浅出VCL(上) 432
9.1 Delphi对象的基础:VCL 432
9.1.1 VCL的层次结构 432
9.1.2 组件的继承关系 434
9.2 TObject:所有对象的根 435
9.3 TPersistent:持久对象 440
9.4 TComponent:组件对象 444
9.4.1 概述 444
9.4.2 属性 447
9.4.3 方法 451
9.4.4 组件的从属关系 453
9.5 TApplication:应用程序对象 455
9.5.1 概述 455
9.5.2 属性 456
9.5.3 方法 460
9.5.4 事件 461
------------------------------------------------------------
第10章 深入浅出VCL(下) 464
10.1 TThread:线程对象 464
10.1.1 概述 464
10.1.2 线程对象的封装和运行机制 464
10.1.3 使用线程对象 471
10.2 TStrings、TList、TCollection:列表与集合 481
10.2.1 TStrings与TStringList 481
10.2.2 TList 486
10.2.3 TCollection 487
10.3 TStream:流对象与流化存储技术 493
10.3.1 TStream类及其派生类。 493
10.3.2 TFileStream与TMemString 496
10.3.3 TCompressionStream和TDecompressionStream 497
10.4 VCL的可视化工作机制 501
10.4.1 TFiler类、TReader类和TWriter类 501
10.4.2 TStream和组件属性的存取 503
10.4.3 Object Inspector的工作原理 508
------------------------------------------------------------
附录 513
1. 附录A 513
2. 附录B 528
参考文献: 542