訪問(wèn)控制

在Swift語(yǔ)言中,訪問(wèn)修飾符有五種,分別為fileprivate,private,internal,public和open。

其中 fileprivate和open是Swift 3新添加的。由于過(guò)去 Swift對(duì)于訪問(wèn)權(quán)限的控制,不是基于類的,而是基于文件的。這樣會(huì)有問(wèn)題,所以Swift 3新增了兩個(gè)修飾符對(duì)原來(lái)的private、public進(jìn)行細(xì)分。

一、各個(gè)修飾符區(qū)別

1,private

private訪問(wèn)級(jí)別所修飾的屬性或者方法只能在當(dāng)前類里訪問(wèn)。

2,fileprivate

fileprivate訪問(wèn)級(jí)別所修飾的屬性或者方法在當(dāng)前的Swift源文件里可以訪問(wèn)。

3,internal(默認(rèn)訪問(wèn)級(jí)別,internal修飾符可寫可不寫)

internal訪問(wèn)級(jí)別所修飾的屬性或方法在源代碼所在的整個(gè)模塊都可以訪問(wèn)。

如果是框架或者庫(kù)代碼,則在整個(gè)框架內(nèi)部都可以訪問(wèn),框架由外部代碼所引用時(shí),則不可以訪問(wèn)。

如果是App代碼,也是在整個(gè)App內(nèi)部可以訪問(wèn)。

4,public

可以被任何人訪問(wèn)。但其他module中不可以被override和繼承,而在module內(nèi)可以被override和繼承

5,open

可以被任何人使用,包括override和繼承。

二、修飾符訪問(wèn)權(quán)限排序

open > public > internal > fileprivate > private

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容