iOS知识点-10.请说明并比较以下关键词:Open, Public, Internal, File-private, Private

Swift Basics
  1. 请说明并比较以下关键词:Open, Public, Internal, File-private, Private

Swift 有五个级别的访问控制权限,从高到低依次为 Open,Public,Internal,File-private,Private。

他们遵循的基本原则是:高级别的变量不允许被定义为低级别变量的成员变量。比如一个private的class中不能含有public的String。反之,低级别的变量却可以定义在高级别的变量中。比如public的class中可以含有private的Int。

  • Open 具备最高的访问权限。其修饰的类和方法可以在任意 Module 中被访问和重写;它是 Swift 3 中新添加的访问权限。
  • Public 的权限仅次于 Open。与 Open 唯一的区别在于它修饰的对象可以在任意 Module 中被访问,但不能重写。
  • Internal 是默认的权限。它表示只能在当前定义的 Module 中访问和重写,它可以被一个 Module 中的多个文件访问,但不可以被其他的 Module 中被访问。
  • File-private 也是 Swift 3 新添加的权限。其被修饰的对象只能在当前文件中被使用。例如它可以被一个文件中的class,extension,struct共同使用。
  • Private 是最低的访问权限。它的对象只能在定义的作用域内使用。离开了这个作用域,即使是同一个文件中的其他作用域,也无法访问。
上一题 目录 下一题

你可能感兴趣的:(iOS知识点-10.请说明并比较以下关键词:Open, Public, Internal, File-private, Private)