swift3.0以后仅财,訪問控制關(guān)鍵字一共有5中,控制權(quán)限范圍從高到低依次為
open > public > internal > fileprivate > private
1脚草、open(開放的)
訪問權(quán)限最高的一個,可以被任何人訪問寺酪,override以及繼承谓娃,不限制范圍.好多系統(tǒng)庫的屬性都有open修飾的
2脚乡、public(公共使用)
僅次于open范圍,也是可以被任何人訪問滨达,但是只限在同一module下才能被override和繼承.好多系統(tǒng)庫協(xié)議的函數(shù)都有public修飾的
3奶稠、internal(內(nèi)部的,默認)
默認的權(quán)限范圍,即不寫的時候默認是internal修飾的捡遍。在同一module可以訪問锌订。
4、fileprivate(file+private)
同一個swift源文件下可以訪問画株,一個.swift文件下辆飘,不同類之間是可以訪問的.
4、private
權(quán)限范圍最低的,只能在當前類里面訪問,分類也不行.
注: 低級別權(quán)限范圍修飾的類別里面不能包含比之高級別的修飾谓传。例如:internal修飾的類里面不能包含public修飾的屬性和函數(shù)等蜈项。
注:module,一個app就是一個模塊,一個第三方框架,第三發(fā)APi续挟,第三方庫紧卒,framework都是一個模塊
final關(guān)鍵字,用來修飾類诗祸,屬性和方法函數(shù)常侦, 被final修飾的不能被繼承和override浇冰,用來做權(quán)限控制.