swift 5种修饰符访问权限

在Swift语言中,访问修饰符有五种,分别为fileprivate,private,internal,public和open

一、各个修饰符区别

  • 1.private

    private访问级别所修饰的属性或者方法只能在当前类里访问。
    
  • 2.fileprivate

    fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问。
    (比如上门样例把private改成fileprivate就不会报错了)
    
  • 3.internal(默认访问级别,internal修饰符可写可不写)

    internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。
    如果是框架或者库代码,则在整个框架内部都可以访问,框架由外部代码所引用时,则不可以访问
    如果是App代码,也是在整个App代码,也是在整个App内部可以访问
    
  • 4.public

    可以被任何人访问。但其他module中不可以被override和继承,
    而在module内可以被override和继承。
    
  • 5.open

    可以被任何人使用,包括override和继承。
    

二、5种修饰符访问权限排序

从高到低排序如下:
open > public > interal > fileprivate > private
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本章将会介绍 模块和源文件访问级别访问控制语法自定义类型子类常量、变量、属性、下标构造器协议扩展泛型类型别名位运算...
    寒桥阅读 930评论 0 2
  • 136.泛型 泛型代码让你可以写出灵活,可重用的函数和类型,它们可以使用任何类型,受你定义的需求的约束。你可以写出...
    无沣阅读 1,569评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,238评论 19 139
  • 当我们去讨论游戏这个品类时,大多会根据游戏的操作载体将之划分成:端游、页游、手游。由于手机这个操作载体的天然优势,...
    NickEyes阅读 1,320评论 3 5
  • 纵欲: 用一种痛苦代替另一种痛苦 趋利避害大概是所有人最根深蒂固的一个习惯。趋利避害本身并没有问题,我们想脱离痛苦...
    多杰卓玛阅读 574评论 0 0