如果我将一个单元放在单元的实现部分的uses子句中,则在该单元中声明的标识符对于接口(interface)部分不可用。
这样做的好处是什么并且不能使用界面中引用单元的标识符?
如果您费心在实现部分添加使用的单元而不是简单地在接口(interface)部分添加,是否有任何实际优势(例如避免不必要的副作用)?
最佳答案
将一个单元添加到 implementation
部分的 uses
子句中,允许该单元仅成为 implementation
的私有(private)依赖项,而不是界面
。如果UnitA使用UnitB,但UnitA之外没有人关心UnitA是否使用UnitB,因为UnitA的接口(interface)不使用UnitB,那么为什么要公布依赖关系并使接口(interface)变得困惑
呢?此外,如果您需要删除 UnitB 和/或将其替换为其他内容,请在 implementation
部分的 uses
子句中声明它,以避免使用 interface
会影响使用 UnitA 的任何单元的更改。
关于delphi - 在实现部分为单元添加 use 子句有哪些优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18021696/