1、Swift入门学习笔记(第一版),对Swift的基础知识点进行梳理总结。知识点一直在变,只是作为参考,以苹果官方文档为准~
2、在学习完基本的知识点以后会结合官方文档及相关资料,在此版本的基础上进行添加更改。
二十四、访问权限
这部分的内容有点绕,感觉一下子记住也不现实,只是有个大概的思路,基本的记住,用到去查,以后用熟了可能会好些
限定其他源文件或模块中代码对你的代码的访问级别
1、模块和源文件
模块:以独立单元构建和发布的Framework
活Application
。一个模块可以使用import
引入另一个模块
源文件:Swift
中的Swift file
,编写源代码的文件,通常属于一个模块。
2、访问级别
2.1、三个级别:由高到低
public
:可以访问当前模块中源文件里的任何实体。别人引入当前模块也能访问。当想让framework
中的某个接口被任何人使用时,设为public
级别
internal
:可以访问当前模块中源文件里的任何实体。但别人引入当前模块不能访问。某个接口或framework
作为内部结构使用时,设为internal
private
:只能在当前源文件中使用的实体,称为私有实体。常用来隐藏某些功能的而实现细节
因此Swift
中的private
区别于其他语言,只要在同一源文件下,一个类可以访问该类定义的所有private
实体
2.2、使用原则
使用原则:访问级别统一性
一个public
访问级别的变量,不能将其定义为internal
和private
—->这句话很拗口,是不能重新定义的意思么?
函数的访问级别不能高于它的参数、返回值类型
2.3、默认访问级别
默认为internal
3、自定义类型
类的访问级别会影响类成员(属性,函数,构造方法等)的默认级别。
注意即使这个类是public
级别,但是它的成员默认为internal
级别,而不是public
public class SomePublicClass { // 显式的 pu