2017-06-26 27 views
2

我了解到,在Ada规范文件(* .ads)中存在公共部分和私有部分,只有公共部分应该被视为编译单元(通常是包)的用户。Ada:公开部分和私人部分规格是分开的吗?

实际上通常不同的文件中将规范的公共部分和私有部分分开?因此,最终,这样的包的用户知道规范层上的包的内部但不能使用它。我在这里吗?

感谢和欢呼声, 沃尔夫冈

回答

7

不,阿达不允许你分开包装规范的公共和私人部分。

Ada的首席设计师Jean Ichbiah在语言上做了一些工作,实际上它将公共,私有(数据结构)和包的实现部分分开,但这并未成为Ada的一部分。

另外:

  • 子包可以看到其母公司的私处私处和身体。
  • 私有子包的规范可以查看其父项的私有部分。

...所以你不能总是完全忽略包规范的私有部分。

一个实际的例子:

当我写单元测试,我喜欢把测试套件在我测试包的子包。这样我的测试用例不仅限于检查包中声明的类型的公共视图。