指定與便利建構函式

2021-10-04 23:31:04 字數 820 閱讀 2019

指定建構函式和遍歷建構函式(對號官網)

1、概念

(1) 指定:標配,至少乙個,初始化所有屬性

思考:怎麼判斷是不是指定函式?就看是不是初始化了所有儲存屬性。

(2)便利:輔助,最終呼叫本類裡的指定。

思考:如何區分指定和便利?

2、語法結構

便利建構函式需要在init前加上convinience關鍵字

3、必須遵守的規範(案例演示)

規則 1——指定建構函式必須從它的直系父類呼叫指定建構函式

規則 2——便捷建構函式必須從相同的類裡呼叫另乙個建構函式(可以是指定也可以是便捷)

規則 3——便捷建構函式最終必須呼叫乙個指定建構函式

簡單記憶的這些規則的方法如下:

指定建構函式必須總是向上委託。

便捷建構函式必須總是橫向委託。

import

foundation

class

car//便捷建構函式,必須呼叫指定建構函式

convenience

init()

}class

bus:

car//便捷構造器-必須呼叫其他的建構函式(指定)

convenience

init

(wheels:

int)

//便捷構造器-必須呼叫其他的建構函式(便捷)

convenience

init()

}

Swift 便利建構函式和指定建構函式繼承關係

這裡先給出兩個類,乙個是person類,乙個是student類 import foundation class person 指定建構函式 init name string,weight double 便利建構函式 convenience init name string,weight double...

構造器 二 指定構造器 便利構造器

在swift中類一共有兩種構造器 我個人的理解為在類中沒有加任何關鍵字的構造器稱為指定構造器,作用為初始化類中所有的例項儲存屬性 init 我個人理解為在類中 只能在類中,結構體和列舉裡面是沒有的 加上convenience關鍵字的構造器為便利構造器,作用為輔助性呼叫指定構造器進行一系列的工作。感覺...

構造器 二 指定構造器 便利構造器

在swift中類一共同擁有兩種構造器 我個人的理解為在類中沒有加不論什麼keyword的構造器稱為指定構造器。作用為初始化類中全部的例項儲存屬性 init 我個人理解為在類中 僅僅能在類中,結構體和列舉裡面是沒有的 加上conveniencekeyword的構造器為便利構造器,作用為輔助性呼叫指定構...