Swift 3.0 的 open,public,internal,fileprivate,private 关键字

对于Func

类型 文件内 模块内 其他模块
open 可访问和重载 可访问和重载 可访问和重载
public 可访问和重载 可访问和重载 可访问,不可重载
internal 可访问和重载 可访问和重载 不可访问和重载
fileprivate 可访问和重载 不可访问和重载 不可访问和重载
private 不可访问和重载 不可访问和重载 不可访问和重载

final修饰的 func 任何地方都不能被 重载
func默认使用internal

对于Class

类型 文件内 模块内 其他模块
open 可访问和继承 可访问和继承 可访问和继承
public 可访问和继承 可访问和继承 可访问,不可继承
internal 可访问和继承 可访问和重载 不可访问和继承
fileprivate 可访问和继承 不可访问和重载 不可访问和重载
private 可访问和继承 不可访问和重载 不可访问和重载

1.文件内fileprivate修饰的class,继承的子类也必须是fileprivate
2.fileprivate和private在修饰class时,作用是相同的

final修饰的 func 任何地方都不能被 重载
class默认使用internal

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

推荐阅读更多精彩内容

  • 参考了 没故事的卓同学 的文章:Swift 3必看:新的访问控制fileprivate和open , 替换了一个更...
    midmirror阅读 8,145评论 7 48
  • 136.泛型 泛型代码让你可以写出灵活,可重用的函数和类型,它们可以使用任何类型,受你定义的需求的约束。你可以写出...
    无沣阅读 1,528评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • 清晨起来,骑车漫行,细雨迎面而来微醺、朦胧。疾驰片刻带起薄雾般的飘带,亦如此般缥缈潇洒!曾经沉醉于微风,此刻更加迷...
    子修些许阅读 234评论 0 4
  • “那些关于沧海桑田,白云苍狗的话要老是天天地说,那是会被当成不思进取的”。 好像是这样的。还好有些东西只是在午夜...
    时央时央阅读 411评论 0 0