2017-06-26 12 views
2

私は、Ada仕様ファイル(* .ads)にパブリック部分とプライベート部分があり、コンパイル単位(通常はパッケージ)のユーザーのパブリック部分だけを考慮する必要があることを知りました。Ada:仕様の公開部分と非公開部分が区切られていますか?

実際には、仕様の公開部分と非公開部分を別々のファイルで区切るのは通常ではありません。

最終的に、このようなパッケージのユーザーは仕様層のパッケージの内部について知っていますが、使用できません。私はここにいますか?

おかげで、歓声、 ヴォルフガング

答えて

7

ありませんが、エイダは、あなたがパッケージ仕様のパブリックおよびプライベートの部分を分離することはできません。

Adaの元チーフデザイナー、Jean Ichbiahは、パッケージのパブリック、プライベート(データ構造)と実装部分を実際に分離した言語についていくつかの作業を行いましたが、これはAdaの一部にはなりませんでした。

また:

  • 子パッケージのプライベート部分と体がその親のプライベートな部分を見ることができます。
  • プライベートな子パッケージの仕様は、その親のプライベートな部分を見ることができます。

...パッケージ仕様のプライベート部分を完全に無視することはできません。

実用的な例:私はユニットテストを書くとき

、私がテストしていたパッケージの子パッケージにテストスイートを入れたいです。そうすれば、私のテストケースは、パッケージで宣言された型のパブリックビューを検査することに限定されません。

関連する問題