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