美文网首页
Swift 访问级别

Swift 访问级别

作者: 洱舟 | 来源:发表于2018-12-20 10:35 被阅读2次
  • 模块和源文件
  • 访问级别

一、模块和源文件

模块:指的是独立的代码单元,框架或应用程序会作为一个独立的模块来构建和发布。

Xcode 的每个 target(例如框架或应用程序)都被当作独立的模块处理。如果你是为了实现某个通用的功能,或者是为了封装一些常用方法而将代码打包成独立的框架,这个框架就是 Swift 中的一个模块


源文件:是 Swift 中的源代码文件

二、访问级别

  • Open 和 Public 级别可以让实体被同一模块源文件中的所有实体访问,在模块外也可以通过导入该模块来访问源文件里的所有实体(不仅可以被同一模块访问,也能被其他模块访问,但其他模块访问需要导入模块)。Open 和 Public 的区别在后面会提到。
  • Internal 级别让实体被同一模块源文件中的任何实体访问,但是不能被模块外的实体访问(只能在当前模块访问,其他模块访问不了)。默认访问级别
  • File-private 限制实体只能在其定义的文件内部访问(只能在当前源文件访问)。
  • Private 限制实体只能在其定义的作用域,以及同一文件内的 extension 访问(只能在当前类调用,不能再其他类中使用)。

Open 为最高访问级别(限制最少),Private 为最低访问级别(限制最多)

Open 和 Public 区别
比较点:继承、子类重写(Public 只能在模块内被继承或重写,Open则可以在模块内或者被导入的模块内继承或重写)
  • Public 或者其它更严访问级别的类,只能在其定义的模块内部被继承。
  • Public 或者其它更严访问级别的类成员,只能在其定义的模块内部的子类中重写。
  • Open 的类,可以在其定义的模块中被继承,也可以在引用它的模块中被继承。
  • Open 的类成员,可以在其定义的模块中子类中重写,也可以在引用它的模块中的子类重写。

三、访问级别顺序

Open > Public > Internal > File-private >Private

相关文章

  • Swift 4.0 中的访问控制(Access Control)

    访问级别Swift 中提供了以下五种不同的访问级别。 访问控制语法 访问基本原则Swift 中的访问级别遵循一个基...

  • Swift 访问级别

    模块和源文件 访问级别 一、模块和源文件 模块:指的是独立的代码单元,框架或应用程序会作为一个独立的模块来构建和发...

  • swift访问控制

    访问控制 在访问权限控制这块,Swift提供了5个不同的访问级别(以下是从高到低排列, 实体指被访问级别修饰的内容...

  • Swift 访问控制(Access Control)

    在访问控制这块,Swift提供了五个不同的访问级别(以下是从高到低排列,实体指被访问级别修饰的内容) open :...

  • 19-Swift访问控制

    1.访问控制 在访问权限控制这块,Swift提供了5个不同的访问级别(以下是从高到低排列,实体指被访问级别修饰的内...

  • Swift 2.0学习笔记(Day 29)——访问级别

    原创文章,欢迎转载。转载请注明:关东升的博客 访问级别: Swift提供了3种不同访问级别,对应的访问修饰符为:p...

  • swift 4.0> 进阶知识点全面梳理(五)

    1,Swift 的访问控制模型基于模块和源文件的概念; 2,访问级别: Swift 为代码的实体提供个【五个】不同...

  • Swift5.1学习随笔之访问控制Access Control

    在访问权限控制中,swift中提供了5个不同的访问级别(以下是从高到低排列,实体指被访问级别修饰的内容) open...

  • 访问控制

    一、在访问权限控制这块,Swift提供了5个不同的访问级别(以下是从高到低排列, 实体指被访问级别修饰的内容) p...

  • Swift public和private

    Swift提供了3种不同访问级别,对应的访问修饰符为:public、internal和private。这些访问修饰...

网友评论

      本文标题:Swift 访问级别

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