麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Swift > 正文

Swift中初始化方法的順序介紹

2020-03-09 17:51:39
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Swift中初始化方法的順序介紹,本文介紹的是了類的初始化方法,需要的朋友可以參考下
 

與 Objective-C 不同,Swift 的初始化方法需要保證類型的所有屬性都被初始化。所以初始化方法的調用順序就很有講究。在某個類的子類中,初始化方法里語句的順序并不是隨意的,我們需要保證在當前子類實例的成員初始化完成后才能調用父類的初始化方法:

復制代碼代碼如下:

class Cat {
    var name: String
    init() {
        name = "cat"
    }
}

 

class Tiger: Cat {
    let power: Int
    override init() {
        power = 10
        super.init()
        name = "tiger"
    }
}


一般來說,子類的初始化順序是:

 

1.設置子類自己需要初始化的參數,power = 10 
2.調用父類的相應的初始化方法,super.init() 
3.對父類中的需要改變的成員進行設定,name = "tiger"

其中第三步是根據具體情況決定的,如果我們在子類中不需要對父類的成員做出改變的話,就不存在第 3 步。而在這種情況下,Swift 會自動地對父類的對應 init 方法進行調用,也就是說,第 2 步的 super.init() 也是可以不用寫的 (但是實際上還是調用的,只不過是為了簡便 Swift 幫我們完成了)。這種情況下的初始化方法看起來就很簡單:

復制代碼代碼如下:

class Cat {
    var name: String
    init() {
        name = "cat"
    }
}

 

class Tiger: Cat {
    let power: Int
    override init() {
        power = 10
        // 雖然我們沒有顯式地對 super.init() 進行調用
        // 不過由于這是初始化的最后了,Swift 替我們完成了
    }
}



注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久久久娇妻 | 中文在线观看www | 免费观看视频网站 | 欧美性黄 | 永久免费黄色大片 | asian附近女人裸体pics | 中文字幕涩涩久久乱小说 | 国产一级一片免费播放 | 久久久久久久久久久久久国产精品 | 中文字幕极速在线观看 | 毛片网站视频 | 成人免费电影在线观看 | 欧美精品一区自拍a毛片在线视频 | h视频免费观看 | 精品国产一区三区| 午夜视频久久 | 国产一区二区三区手机在线 | 久久久久久久99 | 97视频一二区 | 欧美激情性色生活片在线观看 | 91羞羞 | 欧美成人免费小视频 | 99re66热这里只有精品8 | 一级视频网站 | 欧美精品亚洲人成在线观看 | 久国久产久精永久网页 | 欧美一级爱爱 | 女人裸体让男人桶全过程 | 羞羞的动漫在线观看 | hd极品free性xxx护士人 | 亚洲国产网址 | 欧美乱码精品一区 | 国产超碰人人做人人爱ⅴa 国产精品久久久久久久hd | av在线一区二区三区四区 | 一本一道久久久a久久久精品91 | 亚洲第一激情 | 91福利影视| 免费国产自久久久久三四区久久 | 97人操| 羞羞视频免费网站男男 | 欧美精品一区二区久久 |