Unit的使用具有代码重用,信息隐藏的优势。一个单元的interface中的所有标识符(函数,类等)对于使用该unit的任何程序都是可用的,而这些标识符的实现部分都隐藏在相应的unit中(implementation部分)。调用者只需要知道接口部分的语法,利用unit中的公有方法,unit中的内部运行机制并不是调用者需要关心的,只在Implementation中定义而不在Interface定义的内容是不能被unit的引用者访问的。
一个例子:
Unit UnitB;
Interface
Function PublicFunc;
Implementation
Function PublicFunc();
Begin
Echo 'Public Function is called!';
PrivateFunc();
End;
Function PrivateFunc();
Begin
Echo 'Private Function is called!';
End;
End.
Function FunctionUsingUnit();
Begin
uses UnitB;
PublicFunc();//"Public Function is called!Private Function is called!"
PrivateFunc();//函数privatefunc编译错误,或者找不到该函数
End;