最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年01月09日 12:53:10   投稿:junjie  
這篇文章主要介紹了Swift中初始化方法的順序介紹,本文介紹的是了類的初始化方法,需要的朋友可以參考下

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

復(fù)制代碼 代碼如下:

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

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


一般來(lái)說(shuō),子類的初始化順序是:

1.設(shè)置子類自己需要初始化的參數(shù),power = 10
2.調(diào)用父類的相應(yīng)的初始化方法,super.init()
3.對(duì)父類中的需要改變的成員進(jìn)行設(shè)定,name = "tiger"

其中第三步是根據(jù)具體情況決定的,如果我們?cè)谧宇愔胁恍枰獙?duì)父類的成員做出改變的話,就不存在第 3 步。而在這種情況下,Swift 會(huì)自動(dòng)地對(duì)父類的對(duì)應(yīng) init 方法進(jìn)行調(diào)用,也就是說(shuō),第 2 步的 super.init() 也是可以不用寫的 (但是實(shí)際上還是調(diào)用的,只不過(guò)是為了簡(jiǎn)便 Swift 幫我們完成了)。這種情況下的初始化方法看起來(lái)就很簡(jiǎn)單:

復(fù)制代碼 代碼如下:

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

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

相關(guān)文章

  • Swift語(yǔ)言中的一些訪問控制設(shè)置詳解

    Swift語(yǔ)言中的一些訪問控制設(shè)置詳解

    這篇文章主要介紹了Swift語(yǔ)言中的一些訪問控制設(shè)置詳解,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-11-11
  • swift使用SDPhotoBriwser瀏覽圖片教程

    swift使用SDPhotoBriwser瀏覽圖片教程

    這篇文章主要為大家介紹了swift如何使用SDPhotoBriwser瀏覽圖片的教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • swiftui開發(fā)之padding默認(rèn)值設(shè)置詳解

    swiftui開發(fā)之padding默認(rèn)值設(shè)置詳解

    這篇文章主要為大家介紹了swiftui開發(fā)之padding默認(rèn)值設(shè)置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Swift?并發(fā)修改Sendable?閉包實(shí)例詳解

    Swift?并發(fā)修改Sendable?閉包實(shí)例詳解

    這篇文章主要為大家介紹了Swift?并發(fā)修改Sendable?閉包實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • swift閉包和OC block類型的使用

    swift閉包和OC block類型的使用

    這篇文章主要介紹了swift閉包和OC block類型的使用,需要的朋友可以參考下
    2017-08-08
  • Swift中初始化init的方法小結(jié)

    Swift中初始化init的方法小結(jié)

    Swift有著超級(jí)嚴(yán)格的初始化方法,不僅強(qiáng)化了designated初始化方法的地位,所有不加修飾的init方法都需要在方法中確保非Optional的實(shí)例變量被賦值初始化,下面這篇文章主要給大家介紹了關(guān)于Swift中初始化init的相關(guān)資料,需要的朋友可以參考下。
    2018-04-04
  • 深入理解swift變量和函數(shù)

    深入理解swift變量和函數(shù)

    Swift 函數(shù)用來(lái)完成特定任務(wù)的獨(dú)立的代碼塊。這篇文章主要介紹了swift變量和函數(shù)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • 用SwiftUI實(shí)現(xiàn)3D Scroll滾動(dòng)效果的實(shí)現(xiàn)代碼

    用SwiftUI實(shí)現(xiàn)3D Scroll滾動(dòng)效果的實(shí)現(xiàn)代碼

    這篇文章主要介紹了用SwiftUI實(shí)現(xiàn)3D Scroll效果的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)
    2020-04-04
  • swift3.0指紋解鎖的實(shí)現(xiàn)方法

    swift3.0指紋解鎖的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了swift3.0指紋解鎖的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • swift5.3 UIColor使用十六進(jìn)制顏色的方法實(shí)例

    swift5.3 UIColor使用十六進(jìn)制顏色的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于swift5.3 UIColor使用十六進(jìn)制顏色的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評(píng)論

和平县| 保山市| 蚌埠市| 扎赉特旗| 山丹县| 吐鲁番市| 嘉义县| 定安县| 义乌市| 长宁区| 高陵县| 浏阳市| 房山区| 新安县| 陕西省| 松阳县| 会东县| 离岛区| 大渡口区| 大渡口区| 固安县| 长顺县| 任丘市| 九江县| 区。| 綦江县| 南投县| 射阳县| 民县| 万山特区| 德惠市| 沙洋县| 康马县| 哈尔滨市| 屯昌县| 晋州市| 额敏县| 临沂市| 静乐县| 凭祥市| 台州市|