美文网首页Swift Tips程序员
Swift Tips - 访问控制(private &

Swift Tips - 访问控制(private &

作者: Ro_bber | 来源:发表于2018-11-29 09:43 被阅读2次

    在 Swift 语言中,访问修饰符有五种,分别为 privatefileprivateinternalpublicopen

    其中 fileprivateopen 是 Swift 3 新添加的。由于过去 Swift 对于访问权限的控制,不是基于类的,而是基于文件的。这样会有问题,所以 Swift 3 新增了两个修饰符对原来的 privatepublic 进行细分。

    下面分别说说各种修饰符的范围&区别:

    1. privateClass级别
      private 访问级别所修饰的 属性 或者 方法 只能在 当前类 里访问。
      注意:Swift4 中,extension 里也可以访问 private 的属性。

    2. fileprivateFile级别
      fileprivate 访问级别所修饰的 属性 或者 方法当前的 Swift 源文件 里可以访问。

    3. internalModule级别,Default,internal修饰符可写可不写)

      • internal 访问级别所修饰的 属性方法 在源代码所在的 整个模块 都可以访问。
      • 如果是框架或者库代码,则在整个 框架内部 都可以访问,框架由外部代码所引用时,则不可以访问。
      • 如果是 App 代码,也是在 整个 App 代码,也是在 整个 App 内部 可以访问。
    4. public开放级别,但是有些限制
      可以被 任何人 访问。
      ,其他 module 中不可以被 override & 继承 ,而在 module 内可以被 override & 继承

    5. open开放级别,无限制
      可以被 任何人 使用,包括 override & 继承

    总结,5种修饰符访问权限排序如下:

    open > public > interal > fileprivate > private

    喜欢我的可以关注收藏我的个人博客:Ro.bber

    相关文章

      网友评论

        本文标题:Swift Tips - 访问控制(private &

        本文链接:https://www.haomeiwen.com/subject/epkxcqtx.html