与单元的接口部分相比,实现中定义的类型之间有什么区别?

HMc*_*McG 6 delphi

我读过的几乎所有Delphi代码都有单元接口部分中的所有类类型定义,但我在实现部分中偶尔看到了类型定义的使用.

它们之间究竟有什么区别,为什么我会使用它?

Ale*_*lli 12

它非常简单:仅在实现中定义的类型仅在实现中可见,因此它们不能用作参数类型或在接口中返回值.因此,根据这些类型是否只是一个实现细节,或者您希望在外部可见的东西,即通过界面来定位您的类型定义(像其他任何东西;-)!


Mic*_*nny 5

范围.当单元包含在Uses子句中时,接口声明是公共的并且可供其他单元使用.实施声明是私人的,仅在该特定单位内可用.