-
對于希望子類實現的初始化方法,我們可以通過required限制,強制子類重寫,這樣寫的作用保證了依賴某個Designated初始化方法的convenience一直可以使用。另外可以用required修飾convenience方法,用來保證子類不直接使用父類的convenience。查看全部
-
如果子類沒有實現任何父類的指定構造函數; 則自動繼承父類的所有指定構造函數查看全部
-
子類構造函數的繼承原則 如果子類實現了父類所有的指定構造函數; 則自動繼承父類的所有便利構造函數查看全部
-
便利構造函數(convenience):構造函數里還(只能)調用了自己的另外一個self構造函數。構造函數沒有最終構造整個對象,而是由它本身的另外一個構造函數(指定構造函數)完成構造。 指定構造函數必須調用其直接父類的的指定構造函數(除非沒有父類)。 便利構造函數必然會調用指定構造函數來調用父類構造函數,即convenient - init - super.init查看全部
-
構造函數可以有默認參數,可以被重載。 在self完全構造前不能有涉及到self自身的邏輯。 兩段式構造的第一階段中可以調用靜態屬性和方法。 init調用必須指明對象。查看全部
-
兩段式構造如圖: 先初始化子類的屬性;然后調用父類的構造函數 super.init(); (關于父類的屬性必須通過父類的構造函數super進行構造)查看全部
-
子類不能重寫用final修飾的方法或屬性查看全部
-
override 重寫父類屬性查看全部
-
多態性:在父類中定義的屬性或方法被子類繼承之后,可以使同一個屬性或方法在父類及其各個子類中具有不同的含義。查看全部
-
子類繼承父類所有屬性和方法。 final 終結當前繼承。查看全部
-
單例模式: static靜態類型變量,可以通過GameManager類來調用類型屬性defaultGameManager。 而這個let型的類型屬性只能被實例化一次。查看全部
-
sources可裝載其他文件,這些文件下只能定義變量或類,而不能執行。查看全部
-
private以文件為基本單位,若調用還在文件里,private無效。 類以及與類相關的定義應該放在一個文件中,相應的調用放在另一個文件中。查看全部
-
默認訪問控制權限為internal查看全部
-
1.初始化一個屬性,又不經常使用,浪費資源 2.計算型屬性,每次調用都要重新計算,造成資源浪費 延遲屬性:只在使用時調用一次,且調用后結果被保存。 lazy屬性必須顯示的聲明返回值類型,必須聲明成var類型;閉包捕獲外部屬性必須用self調用。查看全部
舉報
0/150
提交
取消