2017-08-07 46 views
1

我在Swift中有一個Shapes模塊,包括Shape類。我剛剛打開了一個新的操場,並將此模塊添加到源文件中。 Square中的Square類可以在Shapes模塊中繼承Shape類。這是沒有問題的,但Shape類中的公共方法在Square類中被覆蓋。公開成員函數

根據swift來源,只有打開的成員函數可以在繼承時被覆蓋。

也許這是非常基礎的問題,所以我已經對此抱歉抱歉。

+0

我說的是僅適用於構造不成員函數。公共初始化器可以被重寫。 – Goktug

+0

語法和拼寫編輯。 – Difster

回答

0
  1. 你應該在你的文章中包含你的代碼。

  2. 「只開放成員函數可以被覆蓋在執行繼承」,我不認爲Apple doc說。這裏是開放的,公共類之間的差異:

開放存取只適用於類和類成員,它不同於 從公共訪問如下:

  • 類公共訪問,或任何更具限制性的訪問級別,只能在其定義的模塊中進行分類。
  • 具有公共訪問權限或任何更具限制性訪問級別的類成員只能由定義它們的 模塊中的子類覆蓋。
  • 開放類可以在定義它們的模塊內以及導入定義模塊 的任何模塊中進行子類化。
  • 打開的類成員可以被它們定義的模塊中的子類覆蓋,也可以在任何導入定義模塊的模塊中覆蓋。