这是一本纯粹讨论Delphi面向对象编程的力作。本书以精通Delphi面向对象编程为目的,深入浅出地了解Delphi面向对象的概念和实质、方法和经验、思想和实践;详尽讨论了Delphi建立在虚方法、抽象方法、对象接口等动态绑定机制上和向上转型、向下转型、接口转型等类型转换机制上的面向对象高级技巧;并深入研究了通过封装从而实现界面和业务对象的分离,从界面和业务分离逐步实现分布式多层体系结构,进而实现界面和业务应用的跨平台的企业级解决方案。本书还提供了VCL斩内幕资料和研究心得。\r\n
\r\n 全书使用Delphi7附带的ModelMaker实现UML对象建模,并附有大量Delphi源代码实例,方便读者研究学习。\r\n
\r\n 本书适用于有一定Delphi基础,并希望掌握面向对象编程思想和方法,进一步提升水平的软件开发人员。同样,已经掌握面向对象编程的Java和C++程序员通过本书亦能快速掌握Delphi编程。本书还适合大专院校用于基于Object Pascal/Delphi的面向对象编程教学。
\r\n
重印序言\r\n前言\r\n第1章 建立面向对象的新思维\r\n 第1节 导论\r\n 第2节 面向对象的基本概念\r\n 第3节 面向对象建模和UML\r\n第2章 Delphi对象模型\r\n 第1节 类和对象\r\n 第2节 方法\r\n 第3节 可见性\r\n 第4节 属性\r\n 第5节 异常\r\n第3章 理解对象\r\n 第1节 对象的本质\r\n 第2节 对象的生死\r\n 第3节 对象的关系\r\n第4章 使用对象\r\n 第1节 应用程序和界面对象\r\n 第2节 使用VCL组件对象\r\n 第3节 使用对象集\r\n 第4节 使用对象参数\r\n 第5节 组件开发中的面向对象思考\r\n第5章 深入多态\r\n 第1节 认识多态\r\n 第2节 虚方法与动态方法\r\n 第3节 抽象类与抽象方法\r\n 第4节 类的类型转换\r\n 第5节 多态和面向对象编程\r\n 第6节 用VCL的抽象类型实现多态\r\n第6章 剖析接口\r\n第7章 研究封装\r\n第8章 实现界面和业务的分离\r\n第9章 深入浅出VCL上\r\n第10章 深入浅出VCL下\r\n附录A ModelMaker使用指南\r\n参考文献\r\n
刘艺,海军工程大学信息与电气学院副教授、美国Borland公司授予的Delphi产品专家、计算机技术作家。著有《Delphi6企业级解决方案及应用剖析》、《Delphi第三方控件使用大全》等10多部计算机专著,出版重点大学计算机教材2部。其主持的多个科研项目在军内获奖。
从第一个真正面向对象的语言Smalltalk(1972年)出现至今已经有30多年的历史了。然而书店中充斥着的面向对象编程的书籍大都是C++和Java,似乎面向对象的语言仅有这两种,而实际上真正的面向对象语言却有4个基础分支,近20种之多。由于Delphi面向对象编程的书籍很少,不少程序员为了学习OOP,不得不放弃Delphi。这真是Delphi的一大悲哀。当我读到Bruce Eckel的《Thinking in Jave》,就感叹过为什么就没有这样的Delphi大作呢?
其实,Delphi系出名门,它是Borland公司在Object Pascal基础上开发的。现在Borland公司从Delphi 7开始使用Delphi语言来取代Object Pascal叫法。Delphi在OOP方面实际上并不比C++和Java逊色,这一点读者可以参见本书附录B“面向对象编程语言比较:Java, C++和Delphi”。
为此,我一直打算写一本Delphi面向对象编程的书,总结自己在Delphi面向对象编程方面的学习体会和实践经验。然而这是一项难度不小的工作,全书从构思到下笔花费了很长的时间,直到今年6月才算正式完稿。刚巧今年也是Borland创建20周年,作为Borland产品Delphi的用户,拙作的出版也算是对此的纪念。
这是一本纯粹讨论Delphi面向对象编程的书,面向对象不是本书的时髦点缀,而是这本书的核心和全部。
本书自第1章“建立面向对象的新思维”开始就试图从面向对象编程的历史和现状入手,阐述面向对象编程思想的起源发展和基本观念,以及面向对象建模方法和UML的应用。这一章是为了帮助读者建立面向对象的基本概念,了解面向对象的思维方法。
第2章“Delphi对象模型”介绍了Delphi面向对象编程的基础知识及其对象模型结构体系。
第3章“理解对象”从对象的本质、生死、关系三方面深入讨论了对象的内部机制、生命周期、相互作用,为读者了解和掌握对象打下了基础。
第4章“使用对象”讲解了在Delphi面向对象编程中如何高效使用对象。这里重点讨论了界面对象、组件对象、对象集和对象参数的使用方法和技巧,并对VCL组件使用和开发中的常见问题进行了深入思考。
第5章“深入多态”介绍了多态的概念及其在编程中的应用。其中通过大量的实例讲解了重载和覆盖、虚方法与动态方法、抽象类和抽象方法、类的类型转换等重要概念和思维方法。
第6章“剖析接口”全面介绍了对象接口的编程知识和应用技巧。阐述了接口在实现动态绑定和多重继承方面的重要作用,演示了接口在面向对象编程中的实际用法。
第7章“研究封装”阐明了封装在面向对象编程中的重要意义和应用原则,并分别从逻辑上的封装和物理上的封装来进一步讨论封装的实现方法和应用技巧。
第8章“实现界面和业务的分离”将面向对象编程应用到一个新的高度。这一章通过界面和业务分离的演化实例,讲解了如何利用面向对象的设计将一个桌面程序进化到分布式多层系统。并结合Delphi的最新Web技术,介绍了如何用Web Service封装业务对象,用Web Form封装界面对象,用新技术封装旧对象,从而实现跨平台的应用。
最后本书第9章和第10章“深入浅出VCL”,研究了VCL的内部机制,并剖析了VCL重要类系的对象用法,为渴望深入提高编程水平的读者提供了参考。
从本书的组成结构上看可以划分成五大部分。
第一部分,全书的前两章是Delphi面向对象编程的入门。已经掌握面向对象基本概念并有Delphi编程经验的读者可以跳过这两章。
第二部分,第3、4章是Delphi面向对象编程的关键。不掌握对象的实质,就无法使用好对象。
第三部分,第5、6章是Delphi面向对象编程的深入。面向对象的高级技巧无一不是建立在虚方法、抽象方法、对象接口等动态绑定机制上和向上转型、向下转型、接口转型等类型转换机制上的。
第四部分,第7、8章是Delphi面向对象编程的应用。为了实现程序的可维护性、可扩展性和可重用性,封装已经成为面向对象编程的重要思想之一。通过封装从而实现界面和业务对象的分离,从界面和业务分离逐步实现分布式多层体系结构,进而实现界面和业务应用的跨平台。这里演示了基于面向对象编程思想的从一般应用程序到企业级应用程序的解决方案。
第五部分,最后的9章和第10章是Delphi面向对象编程的参考。熟悉VCL、学习VCL对精通Delphi十分有帮助。鉴于目前VCL内幕资料的缺乏,因而这一部分所提供的内容可能比较有限,但却是很难得的。
准确地讲,这本书不是写给“高手”的,而是写给那些想从RAD向OOP转变的程序员的,以及希望通过Delphi来学习OOP的朋友。我觉得作为一本比较实用的中级Delphi技术书,比较合适。所以在全书的行文中,力求通俗易懂,图文并茂,并精心编写了大量的示例程序(随书光盘源代码超过50MB),供读者研习。这本书的核心是OOP,而不是针对Delphi的所有方面。阅读本书需要有一定的Delphi基础,书中涉及到一些专门的知识(如COM+等),还需读者进一步参阅相关书籍。
可能会有一些“高手”对本书失望。我觉得自己不适合写“高手”阅读的书,因为我就不是高手,我觉得自己永远是新手。和其他新手不同的是,我使用Delphi的时间更长一点,经验和阅历稍多一点。所以,若发现本书有不妥之处敬请读者指正,不尽如人意之处希望多多包涵。
网友xzh2000讲得好:“一本书的生命很重要,如果作者能花心血经常修改补充,才能成就经典!”的解一本好书需要经过多次反复修订才能成为经典之作,所以我愿意聆听所有读者的宝贵建议,并希望这本书能够不断修订再版。
光盘内容
本书光盘包含了书中绝大多数示例代码。
光盘内容按章编排。其运行环境为Windows98以上的的Windows操作系统,完全安装需要不少于70MB的硬盘空间。
光盘提供了完整的Delphi项目文件,可有Delphi直接打开。所有项目文件和源程序均在Delphi 7上调试通过。