swift3.0 構造器、析構方法(3)

1.Hello Wordhtml

2.基礎語法函數

3.構造器、析構方法ui

4.擴展、協議spa

 

構造和析構是兩種特殊的方法,在對象進行初始化的時候 使用構造,在對象的釋放操做中,使用析構。代理

構造器的定義:code

init (){
     //代碼  
}
init(name:String){
    //代碼
}

在構造器中能夠調用其它的構造器進行操做:htm

init (){
     //代碼  
}
init(name:String){
    self.init()
    //代碼
}

在類或結構初始化時,首先執行的是咱們在初始化調用的相應構造函數。對象

構造函數能夠使用構造代理方式,使用關鍵字convenience,這種方式叫作便利構造器。blog

使用關鍵字required修飾的構造器被稱爲必要構造器,做用是,約束全部的繼承子類重寫該構造器。繼承

在構造器 init後面添加「?」,則該構造器能夠接受錯誤的參數而不會報錯,容許在調用構造參數時出現錯誤,這種方式叫作可失敗構造器。

構造器的繼承:

1.在類的繼承中,構造器是能夠被子類進行繼承的,如子類中存在構造器,則父類中的構造器將被覆蓋,沒法調用。

2.在父類中定義便利構造器,子類中也存在不一樣結構的便利構造器,則子類能夠調用父類的便利構造器和自身的便利構造器。

3.在父類中定義便利構造器,子類中沒有便利構造器,沒法調用。

必要構造器:

class A {
     required init(name:String){
        //代碼
    }  
}

class B:A{
    //必須重寫 不然報錯
    required init(name:String){
        //代碼
    }
}

 析構方法:析構方法爲在類對象釋放時隱式調用的方法,與構造器相似,區別是使用deinit爲方法名稱,而單個類對象中只容許有一個無參析構方法,用來釋放對象,回收資源,以及作一些業務邏輯操做。

相關文章
相關標籤/搜索