訪問級(jí)別基本原則:
Swift 中的訪問級(jí)別遵循一個(gè)基本原則:不可以在某個(gè)實(shí)體中定義訪問級(jí)別更低(更嚴(yán)格)的實(shí)體曹动。
private class Person{
var name = "張建偉"
}
public var p = Person()
這種情況就會(huì)報(bào)錯(cuò):因?yàn)樽兞渴枪_的,而類Person是私有的敦第。
自定義類型:
如果想為一個(gè)自定義類型指定訪問級(jí)別肝箱,在定義類型時(shí)進(jìn)行指定即可。新類型只能在它的訪問級(jí)別限制范圍內(nèi)使用。例如矢腻,你定義了一個(gè)文件私有級(jí)別的類,那這個(gè)類就只能在定義它的源文件中使用射赛,可以作為屬性類型多柑、函數(shù)參數(shù)類型或者返回類型,等等楣责。
一個(gè)類型的訪問級(jí)別也會(huì)影響到類型成員(屬性竣灌、方法、構(gòu)造器秆麸、下標(biāo))的默認(rèn)訪問級(jí)別初嘹。如果你將類型指定為私有或者文件私有級(jí)別,那么該類型的所有成員的默認(rèn)訪問級(jí)別也會(huì)變成私有或者文件私有級(jí)別沮趣。如果你將類型指定為公開或者內(nèi)部訪問級(jí)別(或者不明確指定訪問級(jí)別屯烦,而使用默認(rèn)的內(nèi)部訪問級(jí)別),那么該類型的所有成員的默認(rèn)訪問級(jí)別將是內(nèi)部訪問房铭。