unit Unit1;

interface
  {接口部分开始}
uses
  {引用单元列表,这是可选的,如果包含必须紧跟interface关键字}

  {接口部分声明常量/类型/变量/过程和函数,这些声明对引用单元就像自己的声明一样}
  {在接口部分声明的过程和函数,就像使用了forward关键字}


  {接口部分结束}
implementation
  {实现部分}
uses
  {如果包含uses字句,必须紧跟关键字implementation}
  {在这里实现interface中定义的过程和函数,可以任意顺序的定义和调用.}
  {在这里可以省略过程和函数的列表,如果包括,必须一样.}
  {可以定义单元私有的常量/类型(包括类)/变量/过程和函数,但这些对引用单元的客户是不可见的}

{$R *.dfm}
  {如果是对应窗体的单元文件,会有这句. $R 指令用于加载一个外部资源文件, 这里是指加载同名的窗体文件一起编译.}
initialization
  {初始化部分}
  {程序启动时先执行,并顺序执行}
  {一个单元的初始化代码运行之前,就运行了它使用的每一个单元的初始化部分}
finalization
  {结束化部分,程序结束时执行}
end.

-------------------------------------------------------------------------------------------------------

上述没有说明上下两个uses 的含义,到底有什么不同,我在这说下 我个人的见解。

interface 这里的引用,比如引用了abc,如果wokao单元再引用这个单元,那么wokao单元就已经算是引用了abc单元,就好像方法一样,声明在接口处的方法可以被引用它的单元 直接使用
而写在implementation(实现区的代码)只能被本单元使用,所以为了程序的体积,尽量不要把一些单元引用到interface区 ,能在implementation区就在实现区,让本单元使用就可以了
没有必要写在 interface区,系统的单元可以在interface区,出了系统自动生成的在interface区,自己的和自己引用系统的,以及第三方的我都写在实现区
posted on 2012-01-26 15:08  del88  阅读(17)  评论(0编辑  收藏  举报