Swift4.0 访问权限

Swift4.0有open, public, internal, fileprivate, private五种访问权限,它们都可以修饰方法和属性。

不同点在于:

  • 是否可以被子类继承访问
  • 同文件不同类下是否可以访问
  • 不同文件是否可以被访问
  • 不同组件下是否可以被访问

private

私有访问权限。被private修饰的属性和方法,仅可以在本类中使用。即使同文件下的不同类也是不能调用的。继承的子类也不能调用。

fileprivate

文件私有访问权限。顾明思义,fileprivate和private 区别同文件的属性和方法是可以调用的。

internal

默认权。模块内部可以访问。

public

公有访问权限。类或者类的公有属性或者公有方法可以从文件或者模块的任何地方进行访问。注意:APP中引用的第三方框架是一个完整的模块,其他模块不能直接访问。

open

公开权限, 最高的权限。可以被任何module和文件访问和继承重写。

则访问权限
open > public > internal > fileprivate > private

权限 open public internal fileprivate private
子类继承访问
同文件下的不同类是否可以访问
同组件不同文件是否可以访问
不同组件下是否可以被访问
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,388评论 19 139
  • 【Swift 3.1】24 -访问权限 (Access Control) 自从苹果2014年发布Swift,到现在...
    Lebron_James阅读 6,584评论 5 1
  • 一地槐花在街旁躺下时,我猛然感到了季节,正是夏日的最盛。 蓊郁的浓荫里,白色的花瓣飘落脚下,偶尔会落在头上肩头。没...
    八里山人程远河阅读 4,699评论 18 18
  • 法国作家马克李维的作品。有一天,在kindle看到《第一日》的介绍,很吸引人,就打开文件读了下去,谁知读起来就放不...
    cathyflower阅读 4,657评论 0 1