swift3.0 構(gòu)造器的修飾符

class ClassA{
    let numA: Int
    required init(num: Int) {
        numA = num
    }
    
    convenience init(bigNum: Bool){
        self.init(num: bigNum ? 1000 : 1)
    }
}

class ClassB: ClassA {
    let numB: Int
    required init(num: Int) {
        numB = num + 1
        super.init(num: num)
    }
}

required

強制子類對這個方法重寫實現(xiàn)

required修飾符的使用規(guī)則:

  • required修飾符只能用于修飾類初始化方法。
  • 當子類含有異于父類的初始化方法時(初始化方法參數(shù)類型和數(shù)量異于父類),子類必須要實現(xiàn)父類的required初始化方法,并且也要使用required修飾符而不是override
  • 當子類沒有初始化方法時,可以不用實現(xiàn)父類的required初始化方法。

convenience

便利構(gòu)造器, convenience 的初始化方法是不能被子類重寫或者是從子類中以 super 的方式被調(diào)用的, 但是子類可以調(diào)用便利構(gòu)造器來進行子類初始化

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 構(gòu)造過程 構(gòu)造過程是使用類、結(jié)構(gòu)體或枚舉類型的實例之前的準備過程。在新實例可用前必須執(zhí)行這個過程,具體操作包括設(shè)置...
    蠱毒_閱讀 782評論 0 2
  • 20- 枚舉,枚舉原始值,枚舉相關(guān)值,switch提取枚舉關(guān)聯(lián)值 Swift枚舉: Swift中的枚舉比OC中的枚...
    iOS_恒仔閱讀 2,428評論 1 6
  • 123.繼承 一個類可以從另外一個類繼承方法,屬性和其他特征。當一個類繼承另外一個類時, 繼承類叫子類, 被繼承的...
    無灃閱讀 1,491評論 2 4
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 4,190評論 1 10
  • 你儂我儂,不過人生種種 文/胡大小姐 夏日,午后。 太陽正火辣辣地炙烤著大地,世間萬物都無精打采,仿佛用力喘口氣,...
    41813ed69537閱讀 369評論 0 1

友情鏈接更多精彩內(nèi)容