Swift 访问权限问题

Swift.png
访问控制
  • 访问控制可以限定其他源文件或模块中的代码对你的代码的访问级别

  • Swift中访问控制模型基于模块和源文件,类这三个

    • 模块:指的是独立的代码单元,框架或应用程序会作为一个独立的模块来构建和发布。在 Swift 中,一个模块可以使用 import 关键字导入另外一个模块。

    • 源文件就是 Swift 中的源代码文件,它通常属于一个模块,即一个应用程序或者框架。尽管我们一般会将不同的 类型分别定义在不同的源文件中,但是同一个源文件也可以包含多个类型、函数之类的定义。

  • internal:默认 访问权限 子类可以继承

  • private:私有的 只有在当前类中才可以访问 (基于类的)

  • fileprivate:在当前源文件中可以访问 (基于原文件的 只要在这个文件内部 都可以访问)

  • public: 跨文件访问,修饰类 是 无法继承的 修饰方法 不可以重写的 overide

  • open:修饰的类 可以继承 修饰的方法 可以重写

OC中的权限
  • @private 作用范围是自身类 作用域是:后面的所有成员变量
  • @protected 作用范围在自身类和继承自己的子类,默认是此属性
  • @public 可以写在任何地方
  • @package
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,245评论 4 61
  • 本章将会介绍 模块和源文件访问级别访问控制语法自定义类型子类常量、变量、属性、下标构造器协议扩展泛型类型别名位运算...
    寒桥阅读 4,427评论 0 2
  • 我们总会在学会爱的途中遇上一个人,他的眼睛,他的微笑,都让我们觉得那会是我们将来的一种美好,可是所谓爱情的美好,也...
    贝家欣阅读 3,641评论 0 0
  • 亲爱的朋友, 祝好!今日是一月的最后一天,好像一眨眼,就过去了一个月。本来打算2017年新的一年里做的年度总结和...
    居无所处阅读 1,430评论 0 0
  • 高考结束了,看着各地高考作文,感觉真是时代在变啊,六年前我们还写着隐形的翅膀和仰望星空呢,现在的少年们思想也深刻了...
    秋Irene阅读 2,144评论 0 0