unit unitName;
interface
// 其他我们在本单元会引入的单元名称,在 interface 这个区段中宣告
uses
unitA, unitB, unitC;
// 要公告周知的型别定义
type
newType = TypeDefinition;
// 要公告周知的常数
const
Zero = 0;
// 全局变量
var
Total: Integer;
// 要公告周知的函式与程序
procedure MyProc;
implementation
// 其他在 implementation 区段我们会引入的单元名称
uses
unitD, unitE;
// 不对其它单元文件告知的全局变量
var
PartialTotal: Integer;
// 所有被公告的函式都必须在此被实作
procedure MyProc; begin
// ... MyProc 这个程序的程序代码
end;
initialization
// 非必要的 initialization 区段的程序代码
finalization
// 非必要的 finalization 区段程序代码
end
一个单元的 interface 区段存在的意义,是为了告知其它单元,这个单元
包含什么,能为其它单元或项目提供什么。而 implementation 区段则包
40
含了所有其它单元都无法得知的程序代码。这也是Object Pascal之所以可
以提供信息封装,而不需要靠类别或对象就能达成该功能的原因。
请注意,Object Pascal 的二进制编译文件(DCU)只会在使用相同版本的编译
程序与系统函式库时兼容。用旧版的编译程序编译的二进制文件,通常无
法与后来版本的编译程序兼容