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)只会在使用相同版本的编译
程序与系统函式库时兼容。用旧版的编译程序编译的二进制文件,通常无
法与后来版本的编译程序兼容

最后修改:2022 年 12 月 05 日
如果觉得我的文章对你有用,请随意赞赏