2017-06-26 28 views
2

我瞭解到,在Ada規範文件(* .ads)中存在公共部分和私有部分,只有公共部分應該被視爲編譯單元(通常是包)的用戶。Ada:公開部分和私人部分規格是分開的嗎?

實際上通常不同的文件中將規範的公共部分和私有部分分開?因此,最終,這樣的包的用戶知道規範層上的包的內部但不能使用它。我在這裏嗎?

感謝和歡呼聲, 沃爾夫岡

回答

7

不,阿達不允許你分開包裝規範的公共和私人部分。

Ada的首席設計師Jean Ichbiah在語言上做了一些工作,實際上它將公共,私有(數據結構)和包的實現部分分開,但這並未成爲Ada的一部分。

另外:

  • 子包可以看到其母公司的私處私處和身體。
  • 私有子包的規範可以查看其父項的私有部分。

...所以你不能總是完全忽略包規範的私有部分。

一個實際的例子:

當我寫單元測試,我喜歡把測試套件在我測試包的子包。這樣我的測試用例不僅限於檢查包中聲明的類型的公共視圖。