Swift 修饰符

本文深入探讨了Swift中的`private`修饰符,详细解释了它如何限制属性和方法的访问范围,使其仅限于在定义它们的同一类内部使用,不包括扩展类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*1. open:可以在任何地方访问、继承和重写
*2. public:可以在任何地方被访问,在其他module中不能被继承和重写(一会在详细介绍一下什么是module内和module外)
*3. internal:默认访问级别,在整个模块内都可以被访问
*4. fileprivate:其修饰的属性可以再同一个文件被访问、继承和重写,同一个文件指同一个swift文件,一个文件中可以有多个类
  1. private:其修饰的属性和方法只能在本类被访问和使用,不包括扩展类
</pre>
其访问权限从上至下,逐次降低,下面一一介绍这5个访问控制关键字

1.private 和 fileprivate
这两个访问关键字都是防止文件外访问,但是还是有一些差别的



关于这两个属性的差别,比较简单,这里不赘述,fileprivate相当于swift2.0中的private
2.internal
默认访问级别,internal可以可不写
关于internal关键字,解释起来有点绕
internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。
如果是框架或者库代码,则在整个框架内部都可以访问,框架由外部代码所引用时,则不可以访问。
如果是App代码,也是在整个App代码,也是在整个App内部可以访问。
3.public
1.使用 public修饰的类,属性或方法,可以被任何类访问,
2.但在其他的module中不可以被 override和继承,而在本 module可以;
注意:module内和module外的区别 : module内是指不需要使用import引用文件,就可以创建对象,表示module内,而module外是指需要使用import文件才能创建对象才能使用
4.open
1.可以被任何人使用
2.也可以被override和继承,这是和 public的区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值