Delphi面向对象编程的20条规则(By Marco Cantu)(前言)

转载 2008年04月30日 14:33:00
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

作者简介
           Marco Cantu是一个知名的Delphi专家,他曾出版过《精通Delphi》系列丛书,《Delphi开发手册》以及电子书《精通Pascal》(该电子书可在网上免费获得)。他讲授的课题是Delphi基础和高级开发技巧。你可以通过他的网站(MarcoCantu.com/">www.MarcoCantu.com)获得更多关于他的信息,你也可以他的公共新闻组和他联系,详情请参见他的网站。
 

前言
       大多数Delphi程序员都像使用Visual Basic 那样使用他们手头上开发工具,而丝毫没有意识到Delphi的强大功能,更谈不上使用这些功能了。(写到这里,编辑惶恐的举起了手,怎么可能呢?)Delphi和Visual Basic不同,Delphi完全建立在面向对象结构上,这不仅影响到VCL的结构,而且影响到使用Delphi开发的每一个程序。
       在本文中,我不想涉及到面向对象编程(OOP)的所有理论,只是提出一些简单的经验规则。希望这些规则能够帮助改善你的程序结构。无论你开发的是何种类型的程序,这些经验规则都是适用的。你应当把他们当作一些建议,记住他们并把他们应用到你开发的程序中去。
      关于面向对象编程,我想强调的一个关键原理是封装。我们都希望创建一些灵活而且强健的类,因为这样的类允许我们以后修改他们的实现方法而不影响到程序中的其他部分,这正是封装给我们带来的好处。虽然封装不是创建一个好的面向对象程序的唯一标准,但是它构成了面相对象编程的基础,所以在本文中我也许会过多的强调封装性,请不要感到奇怪,我有足够充分的理由这么做。
      最后,我想说明这样一个事实:本文将主要集中说明窗体(Forms)的开发(虽然其中的一些规则对于组件的开发同样适用),因此这些规则对于所有的Delphi程序员都是适用的。那些编写组件的程序员必须把面相对象编程和类(Class)作为核心的元素,但是对于那些使用组件编程的程序员,他们时常会忘记面向对象。对于他们,本文可以当作一个提示,提醒他们始终记住面向对象编程

第一部分:窗体是类(A Form is A Class)(rule 1-rule 15)
      程序员常常将窗体看作是对象,而事实上窗体是类。两者的差别在于你创建基于相同的窗体类的多个窗体对象。令人感到疑惑的是Delphi为你定义的每一个窗体类创建了一个默认的全局对象。这对于新手来说是相当方便的,但是这同样会使他们形成坏习惯。

第二部分:继承(Inheritance)(rule 15-rule 20)
      在讲述了一系列关于类特别是关于窗体类的规则后,第二部分将是一些关于类的继承性以及可视化窗体继承的建议和技巧。

关于代码
     
本文中所有的代码段都可以在本期杂志(《The Delphi Magazine》 Issue 47)附带的磁盘中的OopDemo工程中找到。你特别应该查看例程中的frm2 单元(unit)和inher单元。如果你想使用这些代码,请注意构造器必要的初始化设置以及私有组件参照,同时有必要设置好窗体的OldCreateOrder属性。否则,带有组件的窗体构造器的初始化代码将在窗体的OnCreate事件之前得到执行。
       在这张磁盘上你还可以找到OOP 窗体向导的第一版的编译包,不过我更希望你访问我的网站获得该程序的更完整的版本。

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

Delphi可视化精讲视频教程

目前市场上delphi教程少之又少,这让很多对delphi编程感兴趣的学员无从下手。本课程本着“理论+实践”的讲课原则,由浅入深的详细讲解delphi这门编程语言,零基础的学员也能学会。本套课程每节课都提供课件供学员们下载,方便学员们的复习。 Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;
  • 2017年11月28日 21:14

Delphi面向对象编程的20条规则(By Marco Cantu)(rule 1-10).txt

  • 2007年04月30日 16:22
  • 5KB
  • 下载

Delphi面向对象编程的20条规则

  • 2008年08月30日 13:17
  • 42KB
  • 下载

delphi2007 handbook

  • 2008年12月10日 08:40
  • 19.31MB
  • 下载

Delphi面向对象编程的20条规则(By Marco Cantu)(rule

  • zgqtxwd
  • zgqtxwd
  • 2008-04-30 14:29:00
  • 111

Delphi面向对象编程的20条规则(By Marco Cantu)(rule 11-15)

规则11:显示组件属性(Expose Components Properties)       当你需要访问其他窗体的状态时,你不应该直接访问它的组件。因为这样会将其他窗体或其它类的代码和用户界面结合...
  • lotusswan
  • lotusswan
  • 2003-05-09 20:00:00
  • 1015

Delphi面向对象编程的20条规则(By Marco Cantu)(rule 16-20)

规则16:可视化窗体继承(Visual Form Inheritance)      如果应用得当,这将是一个强大的工具。根据我的经验,你所开发的项目越大,越能体现它的价值。在一个复杂的程序中,你可以...
  • lotusswan
  • lotusswan
  • 2003-05-13 12:06:00
  • 811

Delphi面向对象编程的20条规则(By Marco Cantu)(rule 1-10)

规则一:为每一个类创建一个单元(One Class,One Unit)       请始终牢记这一点:类的私有(private)和保护(protected)的部分只对于其他单元中的类和过程(proce...
  • lotusswan
  • lotusswan
  • 2003-05-04 13:57:00
  • 1375

delphi 2010 Marco Cantu

  • 2014年07月20日 10:53
  • 1.12MB
  • 下载

Marco Cantu - Mastering Delphi 7

  • 2013年10月02日 00:13
  • 29.37MB
  • 下载
收藏助手
不良信息举报
您举报文章:Delphi面向对象编程的20条规则(By Marco Cantu)(前言)
举报原因:
原因补充:

(最多只允许输入30个字)