简单介绍访问控制

你可以在属性,方法,或者类型声明前,添加访问修饰符的关键字。
在BasicAccount添加访问控制的修饰符 private(set) 限制对balance的访问。

private(set) var balance: Dollars

上面的访问修饰符在属性声明的前边,并在括号内有一个set。这改变了Swift隐式创建的Setter的访问级别。在这个例子中balance的Setter是私有的。

你会发现,你的代码无效了。


QQ20180713-131715@2x.png

给属性添加 private(set) 关键字后,使用上面代码无法访问该属性。

这显示了访问修饰符的好处:访问仅限于需要或应该具有访问权限的代码,限制不需要访问权限的代码。实际上,访问控制帮助你,使你在定义所需实现的行为、属性、方法或类型时控制代码的可访问接口。

上面示例中使用的私有修饰符是Swift中可用的几种访问修饰符之一:
•private:只在同一源文件中该类型上的所有嵌套类型和扩展进行访问。
•fileprivate:可从定义源文件的任何地方访问。
•internal:可从定义它的模块中的任何位置访问。这是默认的访问级别。
•public:可从定义该模块的模块内的任何位置访问,以及导入该模块的其他软件模块。但其他模块中不可以被override和继承,而在模块内可以被override和继承。
•open:与public相同,但可以被其他模块中的代码override和继承。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,718评论 18 399
  • 136.泛型 泛型代码让你可以写出灵活,可重用的函数和类型,它们可以使用任何类型,受你定义的需求的约束。你可以写出...
    无沣阅读 5,486评论 0 4
  • 此时已暮,一轮残阳像血一样,斜照着古家大院,与止同时,古家里的人忽然沸腾了起来。 “着火了,快逃啊!”...
    黯然叉烧饭阅读 1,571评论 0 0
  • 傲娇女王 丰乳肥臀赛尤物,蓬头娇媚安何处。 红烛薄纱遮夜眠,饮尽寂寞冷无边。 春秋多少往来客,也谈歌者也和诗。 误...
    王铁锤135斤了阅读 1,603评论 2 3
  • 《圆梦》 时至今日, 两大幸事: 父母予命; 娶你为妻。 我妻袁梦, 圆我之梦, 金玉其外, 玉金其中。 当然当然...
    山林风火阅读 2,532评论 0 0

友情链接更多精彩内容