我了解到Ada规范文件(* .ads)中有公共部分和私有部分,只有公共部分应该考虑编译单元的用户(通常是包)。
在不同的文件中分离规范的公共部分和私有部分实际上并不常见吗?
因此,最后,这样的包的用户知道规范层上的包的内部但不能使用它。我在这儿吗?
谢谢,欢呼, 沃尔夫冈
答案 0 :(得分:7)
不,Ada不允许您将包规范的公共部分和私有部分分开。
Ada的首席设计师Jean Ichbiah在一种语言上做了一些工作,这种语言实际上将公共,私有(数据结构)和实现部分分开,但这并没有成为Ada的一部分
此外:
...所以你不能完全忽略包规范的私有部分。
一个实际的例子:
当我编写单元测试时,我喜欢将测试套件放在我正在测试的软件包的子包中。这样我的测试用例不仅限于检查包中声明的类型的公共视图。