在Swift語言中,訪問修飾符有五種,分別為fileprivate,private,internal,public和open。
一、各個修飾符區別
1,private
private訪問級別所修飾的屬性或者方法只能在當前類里訪問。
2,fileprivate
fileprivate訪問級別所修飾的屬性或者方法在當前的Swift源文件里可以訪問。(比如上門樣例把private改成fileprivate就不會報錯了)
3,internal(默認訪問級別,internal修飾符可寫可不寫)
internal訪問級別所修飾的屬性或方法在源代碼所在的整個模塊都可以訪問。
如果是框架或者庫代碼,則在整個框架內部都可以訪問,框架由外部代碼所引用時,則不可以訪問。
如果是App代碼,也是在整個App代碼,也是在整個App內部可以訪問。
4,public
可以被任何人訪問。但其他module中不可以被override和繼承,而在module內可以被override和繼承。
5,open
可以被任何人使用,包括override和繼承。
二、5種修飾符訪問權限排序
從高到低排序如下:
open > public > interal > fileprivate > private