首页 > 代码库 > Swift-----访问控制(private、fileprivate、internal、public、open)

Swift-----访问控制(private、fileprivate、internal、public、open)

  在swift中,访问修饰符有五种,分别是:private、fileprivate、internal、public、open。其中fileprivate和open是swift 3 新添加的。由于之前的访问控制符是基于文件的,不是基于类的。这样会有问题,故swift 3 增加了两个修饰符,对原来的private、public进行了细分。

  从高到低的排序如下:

  open > public > interal > fileprivate > private

(1)private:修饰的属性或者方法只能在当前类中访问。

(2)fileprivate:修饰的属性或者方法只能在当前文件中访问。如果一个文件中含有多个类,也是可以访问的。

技术分享

(3)internal:默认访问级别,可写可不写。

  修饰的属性和方法在源代码的整个模块都可以访问。

  如果是框架或库代码,则在整个框架都可以访问,框架以外是不可以访问的。

  如果是App代码,则在整个App内部都是可以访问的。

(4)public:可以被任何代码访问。但其他模块不可以被override和继承,而在模块内是可以被override和继承的。

(5)open:可以被任何模块的代码访问,包括override和继承。

 

Swift-----访问控制(private、fileprivate、internal、public、open)