匯入和模組

模組自動為其內容提供名稱空間範圍。模組表面上類似於類,但不同之處在於:

  • 每個模組只有一個例項,它是靜態分配的。
  • 沒有虛擬表。
  • 模組不繼承,沒有超級模組等。
  • 每個檔案只有一個模組。
  • 可以匯入模組符號。
  • 模組始終在全域性範圍內編譯,不受周圍屬性或其他修飾符的影響。
  • 模組可以在稱為包的層次結構中組合在一起。

模組提供多種保證:

  • 匯入模組的順序不會影響語義。
  • 模組的語義不受匯入它的影響。
  • 如果模組 C 匯入模組 A 和 B,則對 B 的任何修改都不會以靜默方式更改依賴於 A 的 C 中的程式碼。