延遲存儲屬性是指當(dāng)?shù)谝淮伪徽{(diào)用的時候才會計算其初始值的屬性死姚。在屬性聲明前使用lazy來標(biāo)示一個延遲存儲屬性。延遲屬性很有用勒奇,當(dāng)屬性的值依賴于在實例的構(gòu)造過程結(jié)束后才會知道影響值的外部因素時番川,或者當(dāng)獲得屬性的初始值需要復(fù)雜或大量計算時闹炉,可以只在需要的時候計算它诡必。
注意
●?必須將延遲存儲屬性聲明成變量(使用var關(guān)鍵字)奢方,因為屬性的初始值可能在實例構(gòu)造完成之后才會得到。而常量屬性在構(gòu)造過程完成之前必須要有初始值,因此無法聲明成延遲屬性蟋字。
● 如果一個被標(biāo)記為lazy的屬性在沒有初始化時就同時被多個線程訪問稿蹲,則無法保證該屬性只會被初始化一次。?