访问限制(二)

访问级别基本原则:

Swift 中的访问级别遵循一个基本原则:不可以在某个实体中定义访问级别更低(更严格)的实体。

private class Person{

var name = "张建伟"

}

public var p = Person()

这种情况就会报错:因为变量是公开的,而类Person是私有的。

自定义类型:

如果想为一个自定义类型指定访问级别,在定义类型时进行指定即可。新类型只能在它的访问级别限制范围内使用。例如,你定义了一个文件私有级别的类,那这个类就只能在定义它的源文件中使用,可以作为属性类型、函数参数类型或者返回类型,等等。

一个类型的访问级别也会影响到类型成员(属性、方法、构造器、下标)的默认访问级别。如果你将类型指定为私有或者文件私有级别,那么该类型的所有成员的默认访问级别也会变成私有或者文件私有级别。如果你将类型指定为公开或者内部访问级别(或者不明确指定访问级别,而使用默认的内部访问级别),那么该类型的所有成员的默认访问级别将是内部访问。

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

推荐阅读更多精彩内容

  • 本章将会介绍 模块和源文件访问级别访问控制语法自定义类型子类常量、变量、属性、下标构造器协议扩展泛型类型别名位运算...
    寒桥阅读 933评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,286评论 19 139
  • 访问控制(Access Control) 本文内容包括: 模块和源文件 访问级别 访问级别的基本原则默认访问级别S...
    果啤阅读 1,231评论 0 1
  • 他用我给他发的表情包。 他喜欢我 明明才晚上八点他就跟我说晚安。 她不喜欢我! 我发了三大段信息他只回了一个“哦”...
    一只小灵虫阅读 567评论 22 29
  • 月是故乡明,不是吗?此时此刻,真不是这样! 天微雨,夜才黑。我牵着小手,小手牵着另一只大手,轻慢地行走...
    米尔香阅读 373评论 0 0