记录: Swift中权限关键字

Swift中现有的5个权限关键字: open public internal private
fileprivate


这5个关键字都可以用来修饰属性和方法, 那么他们之间的具体区别是什么呢?

  1. open: 最高权限,可以被任何module和文件访问和继承重写, 比如引入的一个三方库中, 有需要被本app使用的方法或者属性, 一般都会被声明为open.
  2. public: 可以被任何人访问,但是在其他module中不可以被继承和重写,在当前module内可以.
  3. internal: 为默认属性, 可以省略不写, 如果项目没有进行组件化开发,整个APP项目内都是可以访问的.
  4. private: 被private修饰的属性和方法 ,只可以在该类下使用(extension可使用,因为是同类.)
  5. fileprivate: fileprivate和private 想比较一下,区别一目了然,相同文件下是可以调用的,其他和private一样.

你可能感兴趣的:(记录: Swift中权限关键字)