他の言語ではどうか(C#を例にして)

 C#ではそもそもヘッダファイルという概念がありません(C++でのクラスがすべてインラインで記述されていると考えて下さい。こっちの方がずっと自然です)。当然インクルード文もありません。プロジェクトに含まれるソースファイルは一度すべて一本のファイルに連結され、その後プリプロセス処理が走ります。わかりやすい。

 ではインターフェイスの公開はどうするのか? 実装レベルではinterfaceというそのものずばりがあります。また、ドキュメントレベルではアセンブリというインターフェイス公開メカニズムがあります。これはソースコードを超えた概念です((もしかするとインターフェイスの公開と実装の隠蔽というのは、ソースコードに限定した言語仕様では実現出来ないのかもしれません))。Javaにもきっと似たような物があるでしょう*1

*1:Java以降のもっと新しい言語ではよりうまいアイデアが用いられているのかもしれませんが無勉強にて存じません