構文
- モジュールmy.package;
- import my.package;
- import my.package:function;
- import fancyName = mypackage;
- import my.package:fancyFunctionName = function;
備考
モジュールは自動的に内容の名前空間の範囲を提供します。モジュールは外見上はクラスに似ていますが、その点で異なります:
- 各モジュールのインスタンスは1つしかなく、静的に割り当てられます。
- 仮想テーブルはありません。
- モジュールは継承されず、スーパーモジュールもありません。
- ファイルごとに1つのモジュールのみ。
- モジュールシンボルをインポートできます。
- モジュールは常にグローバルスコープでコンパイルされ、周囲の属性やその他の修飾子の影響を受けません。
- モジュールはパッケージと呼ばれる階層にグループ化できます。
モジュールはいくつかの保証を提供します:
- モジュールがインポートされる順序は、セマンティクスに影響しません。
- モジュールのセマンティクスは、それをインポートすることによって影響を受けません。
- モジュールCがモジュールAとBをインポートした場合、Bに変更を加えても、Aに依存するCのコードは静かに変更されません。
輸入とモジュール 関連する例