本书以理论结合实践的方式,论述“如何在Delphi中使用面向对象编程方法,构建良好设计的程序”的主题。本书第1、2、3章以不同于一般书籍的方式,介绍面向对象编程的基础知识及其在Object Pascal中的语言实现。第4、5章介绍VCL库的相关知识,其中第4章为您剖析部分VCL的核心组件源码,第5章介绍定制、设计组件的方法。第6、7章介绍程序构架设计,其中第6章介绍一般性的代码设计准则,其内容可以完全脱离Delphi,因为这些准则是跨语言的;第7章是一个完整的代码设计实例,以编写一个多工作区的文本编辑器为例,从实践角度说明程序构架设计的方法。本书面向Delphi程序员,特别是写给那些已经具有一定的实现能力而欲求寻找一种“突破”的Delphi程序员,作为他们提高的参考用书,同时也可以作为高校学生以及程序爱好者的参考用书。
目录
- 第1篇 Delphi与OOP
- 第1章 重新认识Delphi
- 1.1 开发工具“以人为本”论
- 1.2 Delphi更多的优势
- 1.3 本书主题
- 1.4 小结
- 第2章 面向对象编程理论基础
- 2.1 类和对象的本质
- 2.1.1 语言的“类”和“对象”
- 2.1.2 语义的“类”和“对象”
- 2.2 封装
- 2.2.1 类级别的封装
- 2.2.2 单元级别的封装
- 2.3 继承的本质
- 2.3.1 语言的“继承”
- 2.3.2 语义的“继承”
- 2.4 多态的本质
- 2.4.1 多态的概念与接口重用
- 2.4.2 多态的实现与VMT/DMT
- 2.5 小结
- 第3章 异常及错误处理
- 3.1 异常的本质
- 3.2 创建自己的异常类
- 3.3 try...finally
- 3.4 构造函数与异常
- 3.5 小结
- 第2篇 VCL与组件
- 第4章 VCL库
- 4.1 VCL概貌
- 4.2 TObject与消息分发
- 4.3 TControl与Windows消息的封装
- 4.4 TApplication与主消息循环
- 4.4.1 脱离VCL的Windows程序
- 4.4.2 Application对象的本质
- 4.4.3 TApplication创建主消息循环
- 4.4.4 窗口函数(WndProc)处理消息
- 4.5 TPersistent与对象赋值
- 4.6 TComponent与对象持久
- 4.7 TCanvas与Windows GDI
- 4.7.1 TPen
- 4.7.2 TBrush
- 4.7.3 TCanvas
- 4.8 TGraphicControl/TcustomControl与画布(Canvas)
- 4.9 TCustomPanel与窗口重绘
- 4.10 TCustomForm与模态窗口
- 4.11 小结
- 第5章 扩展VCL库
- 5.1 组件基础
- 5.1.1 属性
- 5.1.2 方法
- 5.1.3 事件
- 5.1.4 包
- 5.1.5 组件的安装
- 5.2 扩展现有组件
- 5.2.1 实例一:支持文件施放操作的ListBox
- 5.2.2 实例二:能显示图片的Panel
- 5.3 定制组件
- 5.3.1 TActiveButton
- 5.3.2 TActiveCheckBox
- 5.3.3 TActiveRadioButton
- 5.4 光盘上的组件以及演示程序代码
- 5.5 小结
- 第3篇 OOP与代码设计
- 第6章 代码设计基础
- 6.1 创建良好设计的代码
- 6.2 使用OOP进行代码设计
- 6.3 小结
- 第7章 代码设计实例——Sunny SmartNote
- 7.1 需求概述与代码风格说明
- 7.1.1 需求概述
- 7.1.2 代码风格说明
- 7.1.3 图的说明
- 7.2 IssnEditor/TssnEditor/TssnWorkSpace
- 7.2.1 IssnEditor
- 7.2.2 TssnEditor
- 7.2.3 TssnMemoEditor
- 7.2.4 TssnRichEditor
- 7.2.5 TssnWorkSpace
- 7.3 TssnWorkSpaceMgr/TssnWorkSpace
- 7.3.1 TssnWorkSpaceMgr
- 7.3.2 TssnTabWorkSpace
- 7.3.3 TssnTabWorkSpaceMgr
- 7.4 构造器TssnEditorCtor/TssnWorkSpaceMgrCtor
- 7.4.1 TssnEditorCtor/TssnMemoEditorCtor/TssnRichEditorCtor
- 7.4.2 TssnWorkSpaceMgrCtor/TssnTabWorkSpaceMgrCtor
- 7.5 事件委托TssnEditorEvent/TssnWorkSpaceEvent
- 7.5.1 TssnEditorEvent
- 7.5.2 TssnWorkSpaceEvent
- 7.6 其他模块
- 7.6.1 默认设置管理
- 7.6.2 用户交互
- 7.6.3 界面模块
- 7.6.4 其他单元
- 7.7 光盘上的代码说明
- 7.8 小结
- 附录
- A 浅谈Object Pascal的指针
-
B RAD与non-RAD